web-dev-qa-db-ja.com

git logを実行して特定のブランチだけの変更を見るにはどうすればいいですか

私はリモート/マスターブランチを追跡するローカルブランチを持っています。 git-pullgit-logを実行した後、ログは現在のブランチと同様にリモートトラッキングブランチの全てのコミットを表示します。しかし、リモートブランチには非常に多くの変更が加えられているので、現在のローカルブランチに加えられたコミットだけを見る必要があります。

特定のブランチのコミットを表示するためだけに使用するGitコマンドは何でしょうか。

ノート:

構成情報:

[branch "my-branch"]
  remote = Origin
  merge = refs/heads/master
311
Highway of Life

あなたのブランチがmasterから作成されたと仮定すると、ブランチにいる間は(つまり、ブランチをチェックアウトします)

git cherry -v master

または

git log master..

あなたがブランチにいない場合は、次のように "git log"コマンドにブランチ名を追加できます。

git log master..branchname

あなたのブランチがOrigin/masterで作られていたら、masterの代わりにOrigin/masterを言ってください。

424
Wayne Conrad

つかいます:

git log --graph --abbrev-commit --decorate  --first-parent <branch_name>

これはターゲットブランチ専用です(もちろん--graph、 - abbrev-commit --decorateはもっと洗練されています)。

重要なオプションは--first-parent: "マージコミットを見て最初の親コミットのみをフォローする"( https://git-scm.com/docs/git-log

コミットフォークが表示されないようにします。

74
yerlilbilgin

特定のブランチであなたが行ったコミットだけが欲しい場合は、下記のコマンドを使用してください。

git log branch_name --author='Dyaniyal'
16
Dyaniyal Nadar

私が抱えていた問題は、これに似ていると思いますが、歴史が役立つには、マスターが私の分岐点をはるかに超えていたことです。 (分岐点へのナビゲートには時間がかかり過ぎます。)

少し試行錯誤した後、これは私が大体私が欲しいものを与えました:

git log --graph --decorate --oneline --all ^master^!
6
GPHemsley