1

の後に特定のリモート ブランチの変更を確認する最良の方法を探していますが、git fetchコミットした (ただしプッシュ/マージはしていない) 変更を無視したいと考えています。大まかに私の流れは

 git commit
 git commit # something else
 git fetch
 git diff HEAD^^..origin/stable # HEAD^^ is the commit right before my two commits above

その HEAD^^ を処理して、オリジン/安定 (この場合は HEAD^^) とフェッチ後のオリジン/安定との間で何が変わったかを示す方法があるかどうかを確認したかったのです。

基本的に、最後のフェッチ以降にブランチにコミットされたすべての新しいコードを確認したいのですが、ローカル ブランチにステージングされた (またはステージングされていない) 変更は無視されます。

助けてくれてありがとう。

解決

以下の @ carl-norum の回答に基づいて、以下を .git/config に追加しました

 [alias]
    fetch-diff = !git fetch 2>&1 | awk '/[a-z0-9]+[.][.][a-z0-9]+/ { print $1 }' | xargs -L 1 git diff

そして今git fetch-diff、各ブランチの差分をフェッチして出力する which を使用します。

4

1 に答える 1

2
git diff HEAD^^ origin/stable

あなたが探していることを正確に行う必要があります。ただし、fetch操作により、次のような出力が得られるはずです。

76e5999..0564fab  master     -> origin/master

どのハッシュが変更されたかを表示しますorigin/master(私の例で)。あなたはただ行うことができます:

git diff 76e5999 0564fab

そして、それらすべての差分を参照してください。

于 2013-03-12T19:51:45.667 に答える