Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
第3課 書いたコードを管理する(Git)
Search
ひでシス
October 31, 2016
Programming
0
800
第3課 書いたコードを管理する(Git)
Gitの使い方を学び、GitHubでコードを世界に公開します。
ひでシス
October 31, 2016
Tweet
Share
More Decks by ひでシス
See All by ひでシス
第4課 リレーショナルデータベース
hidesys
0
700
第2課 Rubyでプログラミング
hidesys
0
800
第1課 Linuxことはじめ
hidesys
0
880
第1課 Linuxことはじめ 事前準備
hidesys
0
260
Other Decks in Programming
See All in Programming
バッチ処理を「状態の記録」から「事実の記録」へ
panda728
PRO
0
140
Devoxx BE - Local Development in the AI Era
kdubois
0
120
Goで実践するドメイン駆動開発 AIと歩み始めた新規プロダクト開発の現在地
imkaoru
4
790
Serena MCPのすすめ
wadakatu
4
950
Devvox Belgium - Agentic AI Patterns
kdubois
1
100
Domain-centric? Why Hexagonal, Onion, and Clean Architecture Are Answers to the Wrong Question
olivergierke
2
790
CSC509 Lecture 04
javiergs
PRO
0
300
CSC509 Lecture 03
javiergs
PRO
0
330
どの様にAIエージェントと 協業すべきだったのか?
takefumiyoshii
2
640
SpecKitでどこまでできる? コストはどれくらい?
leveragestech
0
660
階層構造を表現するデータ構造とリファクタリング 〜1年で10倍成長したプロダクトの変化と課題〜
yuhisatoxxx
3
970
チームの境界をブチ抜いていけ
tokai235
0
150
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Building an army of robots
kneath
306
46k
GraphQLとの向き合い方2022年版
quramy
49
14k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
Thoughts on Productivity
jonyablonski
70
4.9k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
114
20k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
How to Ace a Technical Interview
jacobian
280
24k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
A better future with KSS
kneath
239
18k
Transcript
書いたコードを管理する(Git) ひでシス=めぐみ・西岡 1
第3課の内容 • ファイルのバージョン管理ソフトについて学び ます – Gitでファイルを管理 – GitHubにアップロードして世界中に公開する 2
バージョン管理ソフトとは • ファイルを管理するときに • プレゼン_20121029.pptx • プレゼン_20121031.pptx • プレゼン_20121031(修正済み).pptx •
プレゼン_20121031(最終稿).pptx • プレゼン_20121031(最終稿)(弄るな!).pptx – とかなっていませんか。 • 複数人でファイルを同時編集するにはどうし ますか。 Gitで解決 3
Gitとは • 分散型バージョン管理システム リポジトリ リポジトリ リポジトリ 分散 4
リポジトリとコミット • リポジトリ – 複数のファイルやディレクトリの状 態を管理するもの – コミットが過去から現在まで枝状 に履歴として保存されている •
コミット – ある一時点での変更内容 コミット リポジトリ 5
ワークツリーとインデックス • ワークツリー – 見えているファイル・ディレクトリ構造 – ここでファイルを編集する • インデックス –
コミットするファイルのリスト ワークツリー インデックス コミット 登録 コミット 取りやめ 6
Gitを使ってみよう! • やること – 前回の課題2ファイルをGitで管理します – 最終的にGitHubを使って世界中に公開します 7
Gitのユーザー設定 • `git config --global user.name "自分の名前"` • `git config
--global user.email メールアドレス` – 自分の行うコミットに焼き付けられます – GitHubに公開すると、公開されますよ! 8
Gitリポジトリの作成 • /home/ユーザー名/nabeatsu ディレクトリを作 成 • 中に、前回の課題の回答2ファイルをコピー • nabeatsuに移動し、`git init
.` – ディレクトリがGitリポジトリになります • `git status`で状態確認 9
インデックスへの登録 • `git add 課題ファイル名1` • `git add 課題ファイル名2` –
ワークツリーにある課題ファイルがインデックスに 登録されます • `git status`で状態確認 – ちなみに、誤ったファイルを登録してしまったとき は、`git remove ファイル名`で取りやめできます 10
コミット • `git commit –m "ナベアツなう"` – インデックスに登録された2ファイルがコミットされ ます •
`git status`で状態確認 11
ローカルリポジトリとリモートリポジトリ ローカル リポジトリ リモート リポジトリ リモート リポジトリ 分散 12
GitHubにリモートリポジトリを作ろう • GitHubとは – Gitのリポジトリを置けるサービス – 内容をWebから見れる – 編集要請を発行することができる –
https://github.com/ 13
GitHubにリモートリポジトリを作ろう 14
リモートリポジトリのアドレスを ローカルリポジトリに登録する • `git remote add origin https://github.com/hidesys/nabeatsu.git` – originという名前でGitHubのアドレスを登録
15
変更内容をプッシュする • `git push -u origin master` – originリモートに対してmasterブランチをpush 16
ブランチとは? • 枝 • コミットの系列に対して 付けられる別名 • 本branchの名前は masterというのが慣例 –
バグ修正の時に新しく ブランチを切り、編集し てからマージする コミット リポジトリ ブランチ(枝) 17
ブランチ関連の操作 • `git branch` – ブランチ一覧の表示 • `git branch 新しいブランチ名`
– 現在のコミットから新しくブランチを作成 • `git checkout ブランチ名` – ワークツリーの内容をブランチに切り替え 18
README.mdを追加するブランチを作 る • `git branch add-readme` – readmeブランチを作成 • `git
branch` – branch一覧を確認 • `git checkout add-readme` – add-readmeブランチに切り替え • `git branch` – branch一覧を確認 19
README.md追加ブランチで編集 • `nano README.md ` – README.mdの中身を作成 • `git status`
– 現状を確認 • `git add README.md` – インデックスに登録 • `git status` – 現状を確認 • `git commit –m "README.md追加"` 20
変更をpush • `git push origin add-readme` – add-readmeブランチをoriginにpush • `git
branch -a` • GitHubで確認 21
変更をマージ • GitHub上でやってみよう 1. add-readmeブランチのmasterブランチへの プルリクエストを作成 2. オッケーならマージボタンを押す 22
変更をpull • `git checkout master` – masterブランチに切り替える • `ls` –
README.mdはこのブランチにはありません • `git pull origin master` – originリモートリポジトリの最新版を取ってくる • `ls` – README.mdが追加されていることを確認 • `git log` – 履歴を確認してみよう! 23
GitHubではなく手元でmergeするには • `git checkout master` – masterブランチに切り替え • `git merge
add-readme` – add-readmeブランチをマージ 24
Gitのログを見よう! • `git log --graph` – マージの様子などが時系列順に見れる! • 最新が下 25
昔のコミットに戻るには? • `git log` – 過去のコミット一覧を参照 • `git checkout コミットハッシュの先頭4文字`
– `git checkout 3f2e`など。 – `git log`で表示されているハッシュを使う • `git branch` – 自分がdedtached headに居ることを確認 • 元に戻るときは`git checkout master` 26
【メンバー向け】 GitHubのOrganizationに参加してね • GitHubアカウントのidを、hidesys, universato 等に教えてください。Organizationに招待しま す。 • 過去のコードや課題などを見れます。 •
https://github.com/onemonthweb 27