【问题标题】:How to see code changes after git pull?git pull 后如何查看代码变化?
【发布时间】:2012-07-02 07:36:33
【问题描述】:

我想在执行git pull 后检查任何代码更改。目前它只是向我显示哪些文件发生了变化。如何查看更改的代码?

【问题讨论】:

  • 参考this
  • 搜索答案“拉后”。接受的答案没有回答 执行 git pull 之后要做什么

标签: git


【解决方案1】:
git log --name-status -2

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

git log -p -2

将显示更改本身。

在你拉之前,

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

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

【讨论】:

  • 根据这个回复,命令“git log --graph -p”做得很好。它还显示有关历史记录和代码更改的树信息。此外,您无需任何额外的工具或 gitk 即可上下滚动。
【解决方案2】:

拉之前

您可以在合并前使用fetchdiff 来查看@iblue 所说的更改:

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

注意三重句点,这意味着与共享父节点和源/主节点的差异(下面标记为 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

这将显示拉取之后的哈希,然后是拉取之前的哈希:

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

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

git diff 37b431a..b2615b4

【讨论】:

  • 当您不记得当时拉取了多少次提交时,这是唯一允许您检查在上次拉取期间哪些文件已更改的答案。
【解决方案3】:

因为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 diff --name-only master origin/master [path] ```
【解决方案4】:

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

git diff branch_name@{1}

例如:

git diff master@{1}

为了与后面的 n 个提交进行比较,

git diff branch_name@{n}

【讨论】:

  • 这是一个很好的答案,但解释不正确:“用于与后面的 n 个提交进行比较”@{n} 语法实际上表示分支/头的nth 前一个位置。例如,如果自您上次拉取以来已经有 10 次提交,master@{1} 将引用 master 的先前 位置,即 10 个 提交事先的。这就是为什么使用 @{n} 在拉取后检查更改很有用的原因。
  • 这就是我一直在寻找的答案!感谢@wisbucky的解释
  • master 分支上第 n 次提交的等效更简单形式:master^n
【解决方案5】:

你可以通过这个来检查推拉时有什么变化......

git log --stat

【讨论】:

    猜你喜欢
    • 2022-12-05
    • 2014-06-01
    • 2021-06-23
    • 2023-03-12
    • 1970-01-01
    • 2011-05-26
    • 2018-10-21
    • 2017-04-16
    • 2023-03-19
    相关资源
    最近更新 更多