What is git ?
Gitとはソースコードなどの変更履歴を記録・追跡するための分散型バージョン管理システム(Wikipediaより)
https://ja.wikipedia.org/wiki/Git
Terms
- Git : 上記バージョン管理システムのこと
- GitHub : Gitを共有しgit flowによる開発を可能にするウェブ
- repository : 管理するシステムの区分。ルートフォルダ。
- branch : リポジトリに対する変更を元のリポジトリから分岐させること。その操作を"branchを切る"という。
- ローカルリポジトリ : コンピュータ上でのみ存在するリポジトリ
- リモートリポジトリ : ネットワーク上に存在するリポジトリ
Install
https://gitforwindows.org/ からGitForWindowsをダウンロードし, ウィザードに従ってインストールする
(インストール手順参考:https://qiita.com/T-H9703EnAc/items/4fbe6593d42f9a844b1c)
Handson01 Way To Commit
Let's try !
ターミナルを開いて実践してみましょう
-
git config --global user.name "任意のユーザー名",git config --global user.email "メールアドレス"を順次実行してgitの設定をする -
作業ディレクトリを作成する
(Windows:mkdir, Linux:mkdir) -
カレントディレクトリを上で作成した作業ディレクトリまで移動し,
git initを行う
(Windows:dir, Linux:ls -aで.gitファイルの存在を確認) -
必要に応じて, プロジェクト管理から外したいファイルを
.gitignoreファイルを作成して追記する -
GitHubにリポジトリを作成( https://github.co.jp/ )
-
README.mdを作成し, コマンドラインでgit add README.mdを実行git add以降に指定したファイルをステージングへ追加 -
git commit -m "first commit"を実行してインデックスに追加したファイルをコミットする(変更を適用する) -
git remote add origin git@github.com:リポジトリ名.gitを実行してGitHub上のリモートリポジトリにadd -
git push -u origin mainを実行してリモートリポジトリにプッシュする(変更を上書きする) -
GitHubのリポジトリを更新してREADME.mdが追加されていることを確認する
ここまででGitHubへのプッシュまでができるようになった!
Supplement01
-
git add .とすることで.gitignoreにないファイルをすべてステージングできる -
git statusでファイルのステータスを確認できる(ステージング等) - コミットの際には必ずコメントが必要(内容は変更内容がわかるようなもの)
-
git commit --amendでコミットメッセージを修正できる
Handson02 Way to Merge
Part1 Fetch And Merge(Update Local)
-
README.mdにREADME.mdに追記(fetch merge)と追記し, Commit messageにREADME.mdをリモートリポジトリから直接更新と追記する -
git log --onelineで現在のコミット履歴を確認する -
git fetch originでローカルブランチを更新する -
git log main..origin/main --onelineでローカルブランチとリモートブランチの差分を確認する -
git merge origin/mainで作業ディレクトリを更新する -
git log --onelineで現在のコミット履歴を確認 -
README.mdの内容を確認
Part2 Pull(Update Local)
-
README.mdにREADME.mdに追記(pull)と追記し, Commit messageにREADME.mdをリモートリポジトリから直接更新2と追記する -
git log --onelineで現在のコミット履歴を確認 -
git pull origin mainでローカルリポジトリと作業ディレクトリを更新する(fetchとmergeをまとめて行える) -
git log --onelineで現在の履歴を確認する -
README.mdの内容を確認
Handson03 Way To Check Out Branch
-
git branchで現在のブランチを確認 -
git checkout -b 新しいブランチ名で新規ブランチを作成し, そのブランチに切り替える -
git branchで再度現在のブランチを確認 -
git push origin 作成したブランチ名でリモートリポジトリにプッシュする - GitHubでブランチが新しく追加されているのを確認
Handson04 Way To Pull Request Then Merge
- 新しく作ったブランチの
README.mdを変更してadd,commit,pushまで行う(ここではmainブランチは更新されていない) - GitHubの
Pull requestsからNew pull requestを選択. プルダウンからbase:main,compare:作成したブランチ名を選択する - 変更内容を確認して
Create pull request -
Add a titleとAdd a descriptionを入力し,Create pull requestを選択 - レビュアーがコードレビューを行い, 問題なければ
Merge pull requestを実施する(Confirm Mergeで確認) - 変更内容が反映され, 対象のブランチは削除される
Suppliment04
- base: マージ先(変更させたいブランチ)
- compare: マージ元(自分が変更したブランチ)