Git:Branch领先X提交。不';我情不自禁地拉git

Git:Branch领先X提交。不';我情不自禁地拉git,git,Git,我确实看到了其他类似的问题,但我真的不明白为什么会发生这种情况。现在,我使用的是git reset--hard HEAD,然后手动添加我的更改。建议的解决方案似乎是git pull origin master?但在那之后我还是得到了同样的信息。怎么了?如何进行合并?我对GIT还是比较陌生的 $ git pull origin master Nodester! Enter passphrase for key '/home/jiewmeng/.ssh/id_rsa': From nodester

我确实看到了其他类似的问题,但我真的不明白为什么会发生这种情况。现在,我使用的是
git reset--hard HEAD
,然后手动添加我的更改。建议的解决方案似乎是
git pull origin master
?但在那之后我还是得到了同样的信息。怎么了?如何进行合并?我对GIT还是比较陌生的

$ git pull origin master
Nodester!
Enter passphrase for key '/home/jiewmeng/.ssh/id_rsa': 
From nodester.com:/node/git/jiewmeng/10267-f62c0a21d1a9d75ab7b6ace5858921d0
 * branch            master     -> FETCH_HEAD
Merge made by the 'recursive' strategy.

$ git branch -a
* master
  remotes/origin/master
分支被X提交“提前”意味着您的本地repo有一些在远程repo上不存在的新提交。请先尝试“git fetch”。

如“”中所述

“您的分支机构领先…”=>您需要推送到远程主机
运行“
git diff origin/master
”查看本地存储库和远程主存储库之间的差异

如果您比远程回购提前了一次提交,那么过时的是远程回购,而不是您。
拉也没用

现在还要检查您是否在分支上(而不是在分离的头部上)。
这就是您的情况(您确实在
主分支机构上)

“分支机构在X提交之前”可能有两个原因: 1) 您有真正的本地提交,需要执行“git推送” 2) 您的“源”分支与远程端脱离syn。做:

git fetch

(根本原因似乎与执行“git pull origin master”而不是“git pull”有关)

我在我的环境中调查了相同的问题,发现了以下事实:

“源/主”是提交时执行克隆的标记(标签)。我并没有在我这方面创建任何提交,只是从源代码中不使用重基进行拉取。这导致我方回购同步,但未移动或更新原点/主位置。如果执行推送(原点/主标签移动到推送位置),然后执行一些拉取操作以获取一些新提交,则会出现相同的情况

git log --graph --oneline -X master
其中X是number>=在git状态调用之后可以看到的“前方”提交数。您可以在日志结果中看到原点/主标记的位置。这个内部git标记用于计算我们害怕的状态消息

提交的散列存储在refs/remotes/origin/master文件中。如果删除此文件,原点/主标记将消失,有关提前提交的信息也将不再显示

如果要将原点/主标记同步到当前主磁头,只需键入

git update-ref refs/remotes/origin/master cac0cab538b970a37ea1e769cbbde608743bc96d
这里不是我的杂烩,而是你头上的杂烩:

git log -1
如果愿意,也可以使用“复制/粘贴文件内容”。结果应该是一样的


这有助于我传达信息,但我不知道还有什么也受到了影响。据我所知,这条消息只是提供信息的意义,它不是一个错误或警告。一切都按预期运行,没有任何限制。

您能发布您的
git pull
命令的输出吗?还有git branch-a的
?你们有多少远程回购?使用
git remote
列出遥控器。如果有多个,您是否设置了
master
以跟踪
原点以外的其他远程设备?这是最常见的获得“分支机构领先于X提交”消息的情况。@lindelof,我发布了我的
git pull
&
branch
输出如果我没有记错的话,我想这个错误会阻止我推送。。。虽然我不能完全确定。。。已经重置了硬头。。。不管怎样,你说的有道理,我会记住的mind@JiewMeng如果你不能推动,这可能是另一个问题本身。