pull-在哪里可以找到由于`git fetch`引起的变化
在git pull
之后,我不想丢失一些信息,所以我之前做了git fetch
。 git fetch
之后,在哪里可以阅读新的修改? 我转到了FETCH_HEAD
文件,但仅此而已。
git log
默认情况下从名为“源”的远程中获取所有内容,并为该远程更新(或创建)所谓的“远程跟踪分支”。 假设,对于包含名为“ 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
这意味着“所有可从“来源/主服务器”到达的提交不包括可从“主服务器”到达的提交”或者
git log master..origin/master
具有相同的含义。 有关更多信息,请参见“ gitrevisions”手册页,尤其是“指定范围”部分。 另请参阅git-log手册页中的示例
您可以随意自定义git log
的输出,因为它支持影响它的很多选项。
请注意,您的本地分支可能还包含匹配的远程分支尚未包含的提交(尚未)。 要获得它们的概述,您必须出于显而易见的原因而撤销传递给git log
的修订。
像往常一样,在开始使用工具之前,必须教育您自己了解基本概念。 拜托
尝试
git log --oneline --decorate origin/master
这将为您提供(master)
远程服务器的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 PULL会修改哪些文件,请执行以下操作:
git fetch && git diff HEAD @{u} --name-only
如果要查看当前版本与传入版本之间的所有差异,包括未提交的本地修改,请键入以下内容:
git fetch && git diff @{u} --name-only