を実行した後、コードの変更を検査したいと思いgit pull
ます。現在、どのファイルが変更されたかを表示しているだけです。どのコードが変更されたかを確認するにはどうすればよいですか?
回答:
@iblueはと言うようにあなたは、変更を確認することができますfetch
し、diff
マージする前に:
$ git fetch
$ git diff master...origin/master
トリプルピリオドに注意してください。これは、共有された親とオリジン/マスター(x
以下にマークされたコミット)に対する差分を意味します。
SP---o---o [master]
\
x---x [origin/master]
プルの出力の最初の行は次のようになります。
$ git pull
Updating 37b431a..b2615b4
...
その後、次のことを簡単に行うことができます。
$ git diff 37b431a..b2615b4
または他のコマンド:
$ git log --name-status 37b431a..b2615b4
プルしてからしばらく経ち、最後のプルによってどのような変更が加えられたかを知りたい場合は、次の方法で調べることができます。
$ git reflog | grep -A1 pull | head -2
これは、プル後のハッシュとそれに続くプル前のハッシュを表示します。
b2615b4 HEAD@{0}: pull : Fast-forward
37b431a HEAD@{1}: checkout: moving from v6.1 to master
次に、これら2つのハッシュで同じことを行うことができます。
git diff 37b431a..b2615b4
のでgit pull
ためだけのショートカットですgit fetch
とgit merge
、あなたが実行することができgit fetch
、原点から枝をフェッチした後、マージする前に違いを示します。このような:
git fetch # Load changes from remote server
git diff master origin/master # Show differences
git merge origin/master # Merge remote changes with local changes
masterとは異なるブランチで実行する場合は、もちろん上記のコマンドでブランチ名を変更する必要があります。
プルされたコンテンツを直前のコミットのソースと比較するには、次のようにします。
git diff branch_name@{1}
例えば:
git diff master@{1}
nが背後でコミットするソースと比較するために、
git diff branch_name@{n}
@{n}
構文は、実際に意味nth
以前の位置の分岐/ヘッドのを。たとえば、最後にプルを実行してから10回のコミットがあった場合、master@{1}
はの前の位置を参照します。master
これは10回前のコミットです。これが@{n}
、プル後の変更を確認するのに使用が役立つ理由です。
これでプッシュ&プルしながら何が変化するか確認できます...
git log --stat