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: マージ元(自分が変更したブランチ)