私は約git diff branch1 branch2
を知っています。しかし、私は1つのブランチだけに導入された変更を見たいと思います。私はこの機能を得ることができます:1つのブランチに導入された変更を示すために2つのブランチを変更します
git checkout branch1
git merge branch2
git reset origin/branch1
git diff
これを行う方法はありますか?
私は約git diff branch1 branch2
を知っています。しかし、私は1つのブランチだけに導入された変更を見たいと思います。私はこの機能を得ることができます:1つのブランチに導入された変更を示すために2つのブランチを変更します
git checkout branch1
git merge branch2
git reset origin/branch1
git diff
これを行う方法はありますか?
:
git diff branch1...branch2
(nは
... branch1
(または厳密にはマージベース以降)から分岐して以来、branch2
に導入されたすべての変更が表示されます。 ..
と...
をgit diff
とgit log
にそれぞれ使用すると、少し混乱する可能性があります。this answerの図が役立つ場合があります。
あなたはgitのマージ・ベースを使用している二つのブランチの最新の共通ルートのハッシュを見つける必要がある:あなたがそれからの変更のログを取得することができるよりも後に続いて
git merge-base branch1 branch2
gitのログとの分岐頭に共通のルート:
あなたが行うことができますgit diff <common base hash>..branch2
これはほぼ正しいです。私は 'git diff
@Vlad。すべて完了。マークはより簡潔な答えを提供しましたが。私は彼に代わりにティックを与えるだろう! –
こんにちは。いい答え。あなたの実績から、gitの回答に挑戦しようとしている大きな男の子と遊んでいることがわかります。:-) –
@Alex:よく会ったよ!あなたがうまくいくことを願っていますそれが起こると、私は時々gitタグを現時点でチェックしているだけですが、それは確かに従うべき良いものです –