5

私は知っていgit diff branch1 branch2ます。ただし、1つのブランチでのみ変更が導入されることを望んでいます。この機能は次の方法で取得できます。

git checkout branch1
git merge branch2
git reset origin/branch1
git diff

これを行うためのより短い方法はありますか?

4

2 に答える 2

9

できるよ:

git diff branch1...branch2

(3つのドットがあることに注意してください)

branch2...これは、分岐してからbranch1(または、厳密に言えば、マージベース以降)に導入されたすべての変更を示します。.....ingit diffとのさまざまな使用法はgit log少し混乱する可能性があるため、この回答の図が役立つ場合があります。

于 2012-06-22T19:54:09.933 に答える
3

git merge-baseを使用する、2つのブランチの最新の共通ルートのハッシュを見つける必要があります。

git merge-base branch1 branch2

その後、git logを使用して、その共通ルートからブランチヘッドへの変更のログを取得できます。

git diff <common base hash>..branch2
于 2012-06-22T19:35:00.883 に答える