我不想在 a 之后丢失一些信息git pull
,所以我做了 a git fetch
before。我在哪里可以阅读 a 之后的新修改git fetch
?我去了FETCH_HEAD
档案,但只有一个大数字。
3 回答
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”手册页,尤其是“指定范围”部分。另请参阅git-log 手册页中的示例
您可以自由定制git log
您认为合适的输出,因为它支持很多影响它的选项。
请注意,您的本地分支也可能有匹配的远程分支不包含的提交(还)。要获得对它们的概述,您必须git log
出于(希望)明显的原因反转传递给的修订。
像往常一样,在开始使用工具之前,教育 自己理解基本概念是很重要的。请做。
尝试
git log --oneline --decorate origin/master
这将为您提供远程master
头部的更改日志origin
(您可以根据需要替换任何其他远程分支)。你会得到一个有点像这样的输出:
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 PULL 会修改哪些文件,请执行以下操作:
git fetch && git diff HEAD @{u} --name-only
如果您想查看当前版本和传入版本之间的所有差异,包括未提交的本地修改,请输入:
git fetch && git diff @{u} --name-only