431

私はブランチ X を使用しており、その上にさらにいくつかのコミットを追加しました。コミットに関して、MASTER と現在のブランチとのすべての違いを確認したいと思います。私はただすることができました

git checkout master
git log

そして、

git checkout branch-X
git log

これらを視覚的に比較しますが、より簡単でエラーが発生しにくい方法を望んでいます。

4

10 に答える 10

836

あなたは簡単にそれを行うことができます

git log master..branch-X

これにより、branch-X にはあるが master にはないコミットが表示されます。

于 2012-12-20T04:42:39.467 に答える
387

これにより、ブランチがどのように異なるかについて、非常に優れた視覚的な出力を得ることができます

git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset' --abbrev-commit --date=relative master..branch-X
于 2012-12-20T04:43:48.377 に答える
127

それは選択と文脈の問題だと思います。

git log origin/master..origin/develop --oneline --no-merges

マスターブランチにない開発中のコミットが表示されます。

実際に変更されたファイルを確認したい場合は、

git diff --stat origin/master..origin/develop --no-merges

引数を指定しない場合、完全な差分が表示されます。視覚的な差分を見たい場合はmeld、Linux またはWinMergeWindows にインストールしてください。それらがデフォルトの difftools であることを確認してください。次に、次のようなものを使用します

git difftool -y origin/master..origin/develop --no-merges

現在のブランチと比較したい場合。次のように、ブランチ名の代わりに HEAD を使用する方が便利です。

git fetch
git log origin/master..HEAD --oneline --no-merges

マージされようとしているすべてのコミットが表示されます

于 2015-11-02T23:49:55.043 に答える
24

「コミット」の違いを確認するには、次のことをお勧めします。対称的な違いについては、引数を逆にしてコマンドを繰り返します。

git cherry -v master [your branch, or HEAD as default]
于 2015-11-17T00:36:29.000 に答える
16

Linux を使用している場合は、gitg非常に迅速かつグラフィカルに実行する方法です。

コマンドラインを主張する場合は、次を使用できます。

git log --oneline --decorate

git logデフォルトでより良いものにするために、私は通常、次のグローバル設定を設定します。

git config --global log.decorate true
git config --global log.abbrevCommit true
于 2012-12-20T04:55:09.613 に答える
9

gitk を使用する場合:

gitk master..branch-X

それは素敵な古い学校のGUIを持っています

于 2015-08-26T08:37:43.973 に答える
3

コミット メッセージに基づいて比較する場合は、次の操作を実行できます。

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)
于 2019-08-21T05:24:12.200 に答える