124

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

4

5 に答える 5

125
git log --name-status -2

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

git log -p -2

変更自体を表示します。

引っ張る前に、

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

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

于 2012-07-01T17:55:29.917 に答える
93

引っ張る前に

@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
于 2012-09-27T23:10:59.093 に答える
28

はandgit pullの単なるショートカットであるため、実行してオリジンからブランチをフェッチし、マージ前に違いを表示できます。このような:git fetchgit mergegit 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とは異なるブランチで実行する場合は、もちろん、上記のコマンドでブランチ名を変更する必要があります。

于 2012-07-01T18:01:37.747 に答える
12

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

git diff branch_name@{1}

例えば:

git diff master@{1}

n コミット後のソースと比較するには、

git diff branch_name@{n}
于 2018-01-26T06:13:12.347 に答える
5

これにより、押したり引いたりしながら何が変化するかを確認できます...

git log --stat
于 2012-07-01T18:02:01.127 に答える