私はブランチ X を使用しており、その上にさらにいくつかのコミットを追加しました。コミットに関して、MASTER と現在のブランチとのすべての違いを確認したいと思います。私はただすることができました
git checkout master
git log
そして、
git checkout branch-X
git log
これらを視覚的に比較しますが、より簡単でエラーが発生しにくい方法を望んでいます。
あなたは簡単にそれを行うことができます
git log master..branch-X
これにより、branch-X にはあるが master にはないコミットが表示されます。
これにより、ブランチがどのように異なるかについて、非常に優れた視覚的な出力を得ることができます
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 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
マージされようとしているすべてのコミットが表示されます
「コミット」の違いを確認するには、次のことをお勧めします。対称的な違いについては、引数を逆にしてコマンドを繰り返します。
git cherry -v master [your branch, or HEAD as default]
Linux を使用している場合は、gitg
非常に迅速かつグラフィカルに実行する方法です。
コマンドラインを主張する場合は、次を使用できます。
git log --oneline --decorate
git log
デフォルトでより良いものにするために、私は通常、次のグローバル設定を設定します。
git config --global log.decorate true
git config --global log.abbrevCommit true
gitk を使用する場合:
gitk master..branch-X
それは素敵な古い学校のGUIを持っています
コミット メッセージに基づいて比較する場合は、次の操作を実行できます。
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)