git pull後のコード変更を確認するにはどうすればよいですか?


87

を実行した後、コードの変更を検査したいと思いgit pullます。現在、どのファイルが変更されたかを表示しているだけです。どのコードが変更されたかを確認するにはどうすればよいですか?


これを参照しください。
unrealsoul007 2015

回答:


98
git log --name-status -2

最後の2つのコミットで変更されたファイルの名前が表示されます。

git log -p -2

変更自体を表示します。

引っ張る前に、

git fetch
git log --name-status origin/master..

ファイルの名前とともに、取得しようとしているコミットが表示されます。


68

引っ張る前に

@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

3
これは、その時点でプルされたコミットの数を覚えていないときに、最後のプル中に変更されたファイルを確認できる唯一の答えです。
クレムワ2017年

22

のでgit pullためだけのショートカットですgit fetchgit 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とは異なるブランチで実行する場合は、もちろん上記のコマンドでブランチ名を変更する必要があります。


1
`` `git diff --name-only master origin / master [path]` ``
jiacheo 2015

10

プルされたコンテンツを直前のコミットのソースと比較するには、次のようにします。

git diff branch_name@{1}

例えば:

git diff master@{1}

nが背後でコミットするソースと比較するために、

git diff branch_name@{n}

2
これは良い答えですが、説明は正しくありません。「ソースと比較するために、nは背後でコミットします」@{n}構文は、実際に意味nth以前の位置の分岐/ヘッドのを。たとえば、最後にプルを実行してから10回のコミットがあった場合、master@{1}はの前の位置を参照します。masterこれは10回前のコミットです。これが@{n}、プル後の変更を確認するのに使用が役立つ理由です。
wisbucky 2018年

これが私が探していた答えです!説明@wisbuckyをありがとう
tamerlaha

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.