我想在执行git pull
. 目前它只是向我显示哪些文件发生了变化。如何查看更改的代码?
问问题
76696 次
5 回答
125
git log --name-status -2
将向您显示最近两次提交更改的文件的名称。
git log -p -2
将向您展示更改本身。
拉之前,
git fetch
git log --name-status origin/master..
将显示您将要检索的提交以及文件的名称。
于 2012-07-01T17:55:29.917 回答
93
拉动前
您可以按照@iblue 所说的在合并之前使用fetch
and来查看更改: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
然后你可以用这两个哈希做同样的事情:
git diff 37b431a..b2615b4
于 2012-09-27T23:10:59.093 回答
28
因为git pull
只是 and 的快捷方式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不同的分支上运行,您当然应该在上面的命令中更改分支名称。
于 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 回答