git状态与本地分支相比未显示与远程分支的差异。
master
签出了一个新分支dev
,然后进行了一些更改并将其推送到remote / dev。dev
向分支master
发出了拉动请求。master
,然后按git status
。但是当我点击git pull
时,更改将应用到我的本地分支。
我希望输出结果是“您的本地分支在远程/主1提交之后”,但是它说的一切都是最新。
有人可以解释这种情况吗?为什么 git status
不表明遥控器存在更改?
我知道这可能是一个非常愚蠢的问题,但感谢您对新手的耐心。
答案 0 :(得分:2)
不要忘记git *正在分发*,它以异步方式工作。您需要从远程获取新引用,以在本地使用status
之类的命令来使用它们。
git fetch
足够了。
* (感谢phd对词汇的修正)
答案 1 :(得分:2)
正如@RomainValeri所说,git fetch
将更新您的遥控器快照,以查看master
中的新提交。
但是,通过运行git pull
,您可以在本地获得这些更改(如您所说:“但是当我按git pull时,这些更改将应用到我的本地分支上。”),因此您的主服务器不再落后了。
因此,如果您只是想更新遥控器,那么git fetch
(或git remote update
,同样)就是您想要的;如果您想更新遥控器,并使用遥控器的额外提交来更新本地分支,那么git pull
就是您想要的。