仅拉回购的'git status'表示分支领先于原始服务器/主服务器。为什么?

问题描述 投票:14回答:5

所以这是情况:

$ git状态#在分支主管上#通过[x]次提交,您的分支位于'origin / master'之前。#

已经有关于此的几个问题,但是似乎没有一个问题专门针对我所遇到的情况。 This answer到其中一个问题最接近,但没有详细介绍。

我将逐字引用:

如果执行“ git pull远程分支”后收到此消息,请尝试通过“ git fetch”进行跟踪。

提取似乎更新了远程分支的本地表示,当您执行“ git pull远程分支”时并不一定会发生。

该提示确实有效。但是“不一定发生吗?”为什么不?我需要明白这一点。拉不做什么?

我不想解决这个问题,所以这里是我的详细情况:

涉及三台计算机。我开发的Mac,我的git repo(即原始服务器/主服务器)所在的家庭服务器以及从该服务器提取的Webfaction帐户。

我确实提交,git push origin master仅在Mac上。作为正常工作流程的一部分,在Webfaction上运行的唯一命令是git pull origin master(作为Fabric部署脚本的一部分)。我不在那里修改代码。我是一个孤独的开发人员,其他人也没有。

[我时不时地登录Webfaction并检查所有内容,包括git status。不可避免地,我总是收到“您的分支在前面...”的消息。运行git fetch使消息消失。

我将git fetch添加到Fabric脚本中以解决此问题,但是我想知道为什么需要这样做,尤其是在起源/母版的仅拉式克隆中。尽管我每天都使用基本功能,但我并不精通Git,因此不胜感激新手的解释。

<< [更新

根据要求,config中的相关位:[remote "origin"] fetch = +refs/heads/*:refs/remotes/origin/* url = git@[server_address]:[path/to/repo.git] [branch "master"] remote = origin merge = refs/heads/master
因此,情况如下:$ git status#在分支master上#通过[x]提交,您的分支在'origin / master'之前。 #关于SO的问题已经有好几个了,但似乎没有一个问题...
git branch git-push git-pull git-fetch
5个回答
1
投票
注意:该问题最近与Git: unable to get remote and local/server the same相关联。请注意,原始问题的日期为2011年9月;当时最新的Git版本是1.7.10。 Git现在的版本为2.26.2。

10
投票
好,从一开始,您就可以正确地进行所有操作。我认为您之前添加的评论是一个很好的解释:

7
投票
如果运行git pull origin而不是git pull origin master,则Your branch is ahead of 'origin/master' by ... commits.消息不会有问题。


0
投票
就我而言-我在Origin中有两个分支,每次我拉git pull都表明我比x领先于origin / master。即使像Reset local repository branch to be just like remote repository HEAD所示将其硬重置为原点/原点后,也是如此。
© www.soinside.com 2019 - 2024. All rights reserved.