繁体   English   中英

git拉取后如何查看代码变化?

[英]How to see code changes after git pull?

我想在执行git pull后检查任何代码更改。 目前它只是告诉我哪些文件发生了变化。 我怎样才能看到更改了哪些代码?

git log --name-status -2

将显示最近两次提交更改的文件的名称。

git log -p -2

会告诉你自己的变化。

拉你之前,

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

将显示您要检索的提交以及文件的名称。

拉之前

您可以在合并之前检查更改,如@iblue所说的fetchdiff

$ git fetch
$ git diff master...origin/master

注意三重周期,这意味着针对共享父节点和origin / master的diff(下面标记为x提交):

SP---o---o [master]
  \
   x---x [origin/master]

拉了之后

pull的输出中的第一行看起来像这样:

$ git pull
Updating 37b431a..b2615b4
...

然后你可以简单地做:

$ git diff 37b431a..b2615b4

或者其他任何命令:

$ git log --name-status 37b431a..b2615b4

稍后的

如果你已经拉了一段时间,并且你想知道最后一次拉动带来了什么变化,你可以查找:

$ git reflog | grep -A1 pull | head -2

这将在pull之后显示哈希,然后是pull之前的哈希:

b2615b4 HEAD@{0}: pull : Fast-forward
37b431a HEAD@{1}: checkout: moving from v6.1 to master

然后你可以用这两个哈希做同样的事情:

git diff 37b431a..b2615b4

因为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不同的分支上运行,您当然应该在上面的命令中更改分支名称。

你可以通过这个来检查推拉的内容是什么......

git log --stat

您可以将提取的内容与之前提交的来源进行比较,

git diff branch_name@{1}

例如:

git diff master@{1}

为了比较后面提交的来源,

git diff branch_name@{n}

比较拉动前后状态的最佳方法(拉动完成后):

git diff master^1

或者更笼统地说:

git diff <branch name>^<commits back>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM