LoginSignup
0
0

[Git] 動作を試す 実行例30:logでブランチのコミット履歴を調べる

Posted at

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等は不使用。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0