这到底是怎么发生的呢?

我在一个回购工作由自己的时刻,所以这是我的工作流程:

改变文件 提交 重复1-2次直到满意 推送至master

然后,当我执行git状态时,它告诉我我的分支领先X次提交(大概与我所做的提交数量相同)。是不是因为当您推送代码时,它实际上并没有更新本地缓存的文件(在.git文件夹中)?git拉似乎“修复”这个奇怪的消息,但我仍然好奇为什么会发生这种情况,也许我使用git错误?


包括在消息中打印的分支

我在当地的分公司走在主人前面

你在哪里推/拉当前的分支

我推送到GitHub,并拉到我碰巧在那个时间点上工作的任何一台计算机,我的本地副本总是完全最新的,因为我是唯一一个在它上工作的人。

它实际上并不检查远程回购

这就是我的想法,我想我要确保我对它的理解是正确的。

你是否给它传递了一些额外的参数?

不是我能看到的,也许我这边有什么奇怪的配置?

$ git status
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
nothing to commit (working directory clean)

当前回答

如果你在执行git pull远程分支之后得到这条消息,试着用git fetch来跟踪它。(可选地,运行git fetch -p从repo中删除分支)

Fetch似乎更新了远程分支的本地表示,当您执行git拉远程分支时,这并不一定会发生。

其他回答

有人说你可能误解了你的信息,你没有。这个问题实际上与<project>/有关。git /配置文件。它将是一个类似于下面的部分:

[remote "origin"]
    url = <url>
    fetch = +refs/heads/*:refs/remotes/origin/*

如果你从你的项目的.git/配置文件中删除了获取行,你就会停止“你的分支比'origin/master'领先N个提交”的烦恼。

我希望如此。:)

就我而言,这是因为我改用了熟练使用

 git checkout -B master

把它的新版本拉出来,而不是

 git checkout master

第一个命令将master的头重置为最近的提交

我使用

git reset --hard origin/master

为了解决这个问题

我得到了以下与实际问题相关的问题,你的分支领先于'起源/测试/KB-200' 17次提交

原因:上周我创建了PR进行审查,然后我关闭了项目。然后今天,我打开了项目,在同一个分支(测试/KB-200)中做了轻微的改变,我首先运行git pull。这个拉包含了其他开发人员在项目中工作的18个新提交,这使得我的本地分支领先于远程分支,因此我得到了这条消息。所以我只需要运行以下命令:

git push origin testing/KB-200

然后所有的都是同步的和最新的。[关于分支测试/KB-200您的分支是最新的'origin/testing/KB-200']

我想重申上文@Marian Zburlia所提到的。它对我很有效,也会对其他人提出同样的建议。

Git拉源码开发

后面应该跟着$ git pull -rebase。

这将删除最近一次pull之后$ git状态上出现的注释。

这对我很有效

Git重置-硬源/主

输出必须是这样的

关于分支开发 HEAD现在在ae1xc41z最后提交消息