Gitの動作を理解するために、Gitのコマンドを実際に試して、結果を見てみました。
1つの記事内で一連のGitコマンドが完結しているので、これら一連のコマンドを順に実行させて結果を見ることで、一連のGitの動作を実際に体感でき、一通り独習することが可能です。
※前回記事のリポジトリ状態からの続きになっています。
前回記事へ | 目次へ:Git関連記事のまとめページ | 次回記事へ |
---|
実行例
(※始めにブランチの形を確認)
git log --oneline --graph --all
↓
結果:
* b838160 (branch2) message9
* c68ef01 message8
| * 2495cae (branch1) message7
|/
* 94996a0 (HEAD -> master) message4
* 20bbab7 message3
* 00cad71 message2
* 4ace194 message1
※現在のブランチ構造の模式図
message1-2-3-4 ←master
|
+-7 ←branch1
|
+-8-9 ←branch2
-----
※masterブランチだけのログを表示
git log --oneline --graph master
↓
結果:
* 94996a0 (HEAD -> master) message4
* 20bbab7 message3
* 00cad71 message2
* 4ace194 message1
※masterとbranch1ブランチだけのログを表示
git log --oneline --graph master branch1
↓
結果:
* 2495cae (branch1) message7
* 94996a0 (HEAD -> master) message4
* 20bbab7 message3
* 00cad71 message2
* 4ace194 message1
-----
※branch1にはなくbranch2のみにあるコミットのログを表示
git log branch1..branch2 --oneline
↓
結果:
b838160 (branch2) message9
c68ef01 message8
※同様
git log branch2 --not branch1 --oneline
↓
結果:
b838160 (branch2) message9
c68ef01 message8
※同様
git log branch2 "^branch1" --oneline
↓
結果:
b838160 (branch2) message9
c68ef01 message8
-----
※branch2にはなくbranch1のみにあるコミットのログを表示
git log branch2..branch1 --oneline
↓
結果:
2495cae (branch1) message7
※同様
git log branch1 --not branch2 --oneline
↓
結果:
2495cae (branch1) message7
※同様
git log branch1 "^branch2" --oneline
↓
結果:
2495cae (branch1) message7
-----
※branch1とbranch2のどちらかにのみあるコミットのログを表示
git log branch1...branch2 --oneline
↓
結果:
b838160 (branch2) message9
c68ef01 message8
2495cae (branch1) message7
※どちらのブランチにあるかを併せて表示
git log branch1...branch2 --oneline --left-right
↓
結果:
> b838160 (branch2) message9
> c68ef01 message8
< 2495cae (branch1) message7
-----
※branch1とbranch2の分岐直前にあるコミット(分かれ元の原点)
git merge-base branch1 branch2
↓
結果:
94996a08c7d417aa01f78359887c7c59b8f3e309
-----
※branch1とbranch2のどちらかからたどれるコミットのログを表示
git log branch1 branch2 --oneline
↓
結果:
b838160 (branch2) message9
c68ef01 message8
2495cae (branch1) message7
94996a0 (HEAD -> master) message4
20bbab7 message3
00cad71 message2
4ace194 message1
-----
※branch1とbranch2のどちらかからたどれるが、masterからはたどれないコミットのログを表示
git log branch1 branch2 --not master --oneline
↓
結果:
b838160 (branch2) message9
c68ef01 message8
2495cae (branch1) message7
※同様
git log branch1 branch2 "^master" --oneline
↓
結果:
b838160 (branch2) message9
c68ef01 message8
2495cae (branch1) message7
環境
Windows 10、PortableGit-2.40.0-64-bitを使用、全てローカルPC上で実施、GitHub等は不使用。