Way*_*rad 76
git log --name-status -2
Run Code Online (Sandbox Code Playgroud)
将显示最近两次提交更改的文件的名称.
git log -p -2
Run Code Online (Sandbox Code Playgroud)
会告诉你自己的变化.
拉你之前,
git fetch
git log --name-status origin/master..
Run Code Online (Sandbox Code Playgroud)
将显示您要检索的提交以及文件的名称.
quo*_*ian 58
拉之前
作为@iblue有说你可以查看改变fetch和diff合并之前:
$ git fetch
$ git diff master...origin/master
Run Code Online (Sandbox Code Playgroud)
注意三重周期,这意味着对共享父节点和源/主节点的差异(x下面标记的提交):
SP---o---o [master]
\
x---x [origin/master]
Run Code Online (Sandbox Code Playgroud)
拉了之后
pull的输出中的第一行看起来像这样:
$ git pull
Updating 37b431a..b2615b4
...
Run Code Online (Sandbox Code Playgroud)
然后你可以简单地做:
$ git diff 37b431a..b2615b4
Run Code Online (Sandbox Code Playgroud)
或者其他任何命令:
$ git log --name-status 37b431a..b2615b4
Run Code Online (Sandbox Code Playgroud)
稍后的
如果你已经拉了一段时间,并且你想知道最后一次拉动带来了什么变化,你可以查找:
$ git reflog | grep -A1 pull | head -2
Run Code Online (Sandbox Code Playgroud)
这将在pull之后显示哈希,然后是pull之前的哈希:
b2615b4 HEAD@{0}: pull : Fast-forward
37b431a HEAD@{1}: checkout: moving from v6.1 to master
Run Code Online (Sandbox Code Playgroud)
然后你可以用这两个哈希做同样的事情:
git diff 37b431a..b2615b4
Run Code Online (Sandbox Code Playgroud)
ibl*_*lue 17
因为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
Run Code Online (Sandbox Code Playgroud)
如果您在与master不同的分支上运行,您当然应该在上面的命令中更改分支名称.
小智 11
您可以通过以下方式将提取的内容与上一次提交的来源进行比较,
git diff branch_name@{1}
Run Code Online (Sandbox Code Playgroud)
例如:
git diff master@{1}
Run Code Online (Sandbox Code Playgroud)
为了与后面的源 n 提交进行比较,
git diff branch_name@{n}
Run Code Online (Sandbox Code Playgroud)