回答:
これにより、ブランチがどのように異なるかについて、非常に優れた視覚的な出力を得ることができます
git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset' --abbrev-commit --date=relative master..branch-X
git log --oneline --graph --all --decorate --abbrev-commit
同じような出力が、より短い/より読みやすいコマンドで表示されます
git log --all --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset'
git log --oneline --graph --all --decorate
十分--abbrev-commit
です、必須で--oneline
はありません、省略形です--pretty=oneline --abbrev-commit
あなたはそれを簡単に行うことができます
git log master..branch-X
これにより、ブランチXにはあるがマスターにはないコミットが表示されます。
branch-X
場合は、次の方法を使用できますgit log master..
git log master...branch-X
、2つではなく3つのドットを使用できます。詳細についてはman gitrevisions
、を参照してください。
選択とコンテキストの問題だと思います。
git log origin/master..origin/develop --oneline --no-merges
マスターブランチにない開発中のコミットが表示されます。
実際に変更されているファイルを確認したい場合
git diff --stat origin/master..origin/develop --no-merges
引数を指定しない場合は、完全な差分が表示されます。差分を表示したい場合はmeld
、LinuxまたはWinMerge
Windowsにインストールしてください。それらがデフォルトのdifftoolsであることを確認してください。
git difftool -y origin/master..origin/develop --no-merges
現在のブランチと比較したい場合。次のようにブランチ名の代わりにHEADを使用する方が便利です。
git fetch
git log origin/master..HEAD --oneline --no-merges
マージされようとしているすべてのコミットが表示されます
--no-merges
ように:git log origin/master..HEAD --oneline --no-merges
コミットメッセージに基づいて比較する場合は、以下を実行できます。
git fetch
git log --oneline origin/master | cut -d' ' -f2- > master_log
git log --oneline origin/branch-X | cut -d' ' -f2- > branchx_log
diff <(sort master_log) <(sort branchx_log)
--oneline
してパイピングする代わりに使用cut
できますgit log --format='%s'
私はいくつかの回答を使用し、私のケースに合うものを見つけました(すべてのタスクがリリースブランチにあることを確認してください)。
他の方法も同様に機能しますが、値を追加しないマージコミットなど、不要な行を追加する可能性があることがわかりました。
git fetch
git log origin/master..origin/release-1.1 --oneline --no-merges
または、現在とマスターを比較できます
git fetch
git log origin/master..HEAD --oneline --no-merges
git fetch
更新された情報を使用していることを確認するためにあります。
このようにして、各コミットは1行になり、それをコピーしてテキストエディターに貼り付け、マージされるコミットとタスクの比較を開始できます。