【问题标题】:Where to find changes due to `git fetch`由于 `git fetch` 在哪里可以找到更改
【发布时间】:2012-05-27 13:18:52
【问题描述】:

我不想在git pull 之后丢失一些信息,所以我之前做了一个git fetch。在git fetch 之后我可以在哪里阅读新的修改?我去了FETCH_HEAD 文件,但只有一个大数字。

【问题讨论】:

  • 你可以访问gitk吗?如果你这样做了,运行gitk --all 来查看你本地机器上所有分支的当前状态,甚至是那些被 fetch 更新的分支。
  • 尝试 git show object 其中 object 是大散列数...
  • gitk 命令有效,但不是 gitk all。 (顺便说一句,我没有准确地说远程存储库没有被我更改)。在 gitk 窗口中,没有显示获取数据的文件
  • 感谢 git show 命令运行良好!!最好的,纽本

标签: git pull git-fetch


【解决方案1】:

如果您只想查看执行 GIT PULL 会修改哪些文件,请执行以下操作:

git fetch && git diff HEAD @{u} --name-only

如果您想查看当前版本和传入版本之间的所有差异,包括未提交的本地修改,请输入:

git fetch && git diff @{u} --name-only

【讨论】:

【解决方案2】:

git fetch origin 默认情况下从名为“origin”的远程获取所有内容,并为该远程更新(或创建)所谓的“远程跟踪分支”。比如说,对于包含名为“master”和“feature”的分支的名为“origin”的远程,运行git fetch remote将导致名为“origin/master”和“origin/feature”的远程跟踪分支被更新(或创建,如果它们不存在)。您可以在git branch -a 的输出中看到它们(注意“-a”)。

现在,通常的 Git 设置是(某些)本地分支遵循某些远程分支(通常同名)。也就是说,您的本地“master”分支遵循“origin/master”等。

因此,在您获取后,要查看远程“master”与本地“master”的比较,您要求 Git 准确地向您显示:

git log origin/master ^master

这意味着«所有可从“origin/master”访问的提交,不包括可从“master”访问的提交» 或者,或者,

git log master..origin/master

含义相同。有关更多信息,请参阅"gitrevisions" manual page,尤其是“指定范围”部分。另请参阅git-log manual page中的示例

您可以随意自定义git log 的输出,因为它支持很多影响它的选项。

请注意,您的本地分支也可能有匹配的远程分支不包含的提交(尚未)。为了对它们进行概述,您必须将传递给 git log 的修订版本倒过来,原因(希望如此)显而易见。

像往常一样,在开始使用工具之前,educate yourself 必须了解基本概念。请做。

【讨论】:

  • 没有提到git diff master origin/master 的任何原因?它似乎很简单地解决了OP的问题......? (我对 Git 和学习很陌生,所以如果有错误请纠正我。)
  • @Howiecamp:如果您向 your master 添加了不是从 their master 获得的提交,则会产生不同的结果(您现在更新的origin/master)。这不是一件错误的事情,但它不会向你显示他们拥有而你没有的提交(在你的master上),而@ 987654337@ 会做到这一点。
【解决方案3】:

试试

git log --oneline --decorate origin/master

这将为您提供来自origin 远程的master 头部的更改日志(您可以根据需要替换任何其他远程分支)。你会得到类似这样的输出:

234121 (origin/master) Commit message 5
872373 Commit message 4
623748 Commit message 3
235090 (master) Commit message 2
192399 Commit message 1

标记为(master) 的提交是您本地master 分支的负责人。标记为(origin/master) 的提交是远程master 分支的头部。

【讨论】:

  • 我认为更好的命令是 - git log --all --oneline --graph
  • 这显示了比我上次合并当前本地头后所做的提交更多的提交。 git log 的工作方式是否发生了变化?
猜你喜欢
  • 2020-07-30
  • 2015-02-17
  • 1970-01-01
  • 2017-11-26
  • 1970-01-01
  • 1970-01-01
  • 2012-11-30
  • 2011-08-22
  • 2014-12-14
相关资源
最近更新 更多