1. ホーム
  2. git

[解決済み] ブランチ作成以降のコミットを表示

2023-05-02 18:50:38

質問

を使って見る方法はありますか? git log などのコマンドで、ブランチ作成後に追加されたコミットだけを見る方法はありますか?

usage: git log [<options>] [<since>..<until>] [[--] <path>...]
   or: git show [options] <object>...

    --quiet               suppress diff output
    --source              show source
    --decorate[=...]      decorate options

どのように解決するのですか?

完全なドキュメントはこちらです。 https://www.kernel.org/pub/software/scm/git/docs/gitrevisions.html

このようなレポがあったとします。

base  -  A  -  B  -  C  -  D   (master)
                \
                 \-  X  -  Y  -  Z   (myBranch)

レポの状態を確認します。

> git checkout master
Already on 'master'
> git status ; git log --oneline
On branch master
nothing to commit, working directory clean
d9addce D
110a9ab C
5f3f8db B
0f26e69 A
e764ffa base

で、myBranchの場合。

> git checkout myBranch
> git status ; git log --oneline
On branch myBranch
nothing to commit, working directory clean
3bc0d40 Z
917ac8d Y
3e65f72 X
5f3f8db B
0f26e69 A
e764ffa base

myBranch にいて、master からブランチした後の変更点のみを表示したいとします。 2点鎖線のバージョンを使用します。

> git log --oneline master..myBranch
3bc0d40 Z
917ac8d Y
3e65f72 X

3ドットバージョンでは、masterの先端からmyBranchの先端までのすべての変更を与えます。 ただし、共通のコミットBは含まれていないことに注意してください。

> git log --oneline master...myBranch
d9addce D
110a9ab C
3bc0d40 Z
917ac8d Y
3e65f72 X

PLEASE NOTE git loggit diff の挙動が異なる! 動作は全く逆ではありませんが、ほぼ同じです。

> git diff master..myBranch
diff --git a/rev.txt b/rev.txt
index 1784810..e900b1c 100644
--- a/rev.txt
+++ b/rev.txt
@@ -1 +1 @@
-D
+Z

> git diff master...myBranch
diff --git a/rev.txt b/rev.txt
index 223b783..e900b1c 100644
--- a/rev.txt
+++ b/rev.txt
@@ -1 +1 @@
-B
+Z

つまり、2ドット版は、masterの先端(つまりD)からmyBranchの先端(Z)までの差分を示しています。3ドット版は、myBranchの根元(つまりB)からmyBranchの先端(Z)までの差分を示しています。