特定のブランチのみの変更を確認するためにgitログを実行するにはどうすればよいですか?
-
09-10-2019 - |
質問
リモート/マスターブランチを追跡するローカルブランチがあります。実行後 git-pull
と git-log
, 、ログには、リモートトラッキングブランチと現在のブランチですべてのコミットが表示されます。ただし、リモートブランチには非常に多くの変更が行われたため、現在の地元の支店に行われたコミットだけを確認する必要があります。
特定のブランチのコミットのみを示すために使用するGITコマンドは何ですか?
ノート:
構成情報:
[branch "my-branch"]
remote = origin
merge = refs/heads/master
解決
あなたの枝がから作成されたと仮定します master
, 、 それから 支店にいる間 (つまり、ブランチをチェックアウトしてもらいます):
git cherry -v master
また
git log master..
ブランチにいない場合は、このような「git log」コマンドにブランチ名を追加できます。
git log master..branchname
枝が作られた場合 origin/master
, 、次に言います origin/master
それ以外の master
.
他のヒント
使用する:
git log --graph --abbrev-commit --decorate --first-parent <branch_name>
ターゲットブランチ(もちろん、-graph、-abbrev-commit -decorateはよりポリジングです)のみです。
重要なオプションは、-first-parent:「マージのコミットを見たときに最初の親のコミットのみに従ってください」です(https://git-scm.com/docs/git-log)
コミットフォークの表示を防ぎます。
特定のブランチであなたによって行われたコミットのみが必要な場合は、以下のコマンドを使用してください。
git log branch_name --author='Dyaniyal'
私が抱えていた問題は、これに似ていると思いますが、マスターは歴史が役立つために私の支店のポイントをはるかに上回っていたということです。 (分岐点に移動するには時間がかかりすぎます。)
いくつかの試行錯誤の後、これは私が望んでいたものを大まかに与えてくれました:
git log --graph --decorate --oneline --all ^master^!