5

我确实看到了其他类似的问题,但我真的不明白为什么会发生这种情况。现在,我正在使用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
4

4 回答 4

9

正如“为什么 Git 告诉我“你的分支比 'origin/master' 领先 11 次提交”中提到的那样。以及如何让它停止?

“您的分支在...之前” =>您需要推送到远程 master
运行“ git diff origin/master”查看本地存储库和远程主存储库之间的差异。

如果您在一次提交之前领先于远程存储库,那么远程存储库已经过时,而不是您。
拉扯也没用。

现在还要检查你是否真的在一个分支上(而不是在一个分离的头上)。
这是你的情况(你确实在master分支上)

于 2012-06-10T06:20:39.803 回答
5

“分支在 X 提交之前领先”可能有 2 个原因:1)你有真正的本地提交,你需要做 'git push' 2)你的 'origin' 分支与远程端不同步。做:

git fetch

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

于 2013-01-23T14:54:57.077 回答
0

分支通过 X 提交“领先”意味着您的本地存储库有一些远程存储库中不存在的新提交。首先尝试“git fetch”。

于 2012-06-10T06:12:02.260 回答
0

我在我的环境中调查了同样的问题并发现了这些事实:

Origin/master 是我执行克隆的提交时的标记(标签)。我没有在我这边创建任何提交,只是从原点拉动而没有变基。这导致同步我的仓库,但没有移动或更新原点/主位置。如果您执行推送(原点/主标签移动到您的推送位置)然后执行一些拉取一些新提交,则会出现相同的情况。

git log --graph --oneline -X master

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

提交的哈希存储在 refs/remotes/origin/master 文件中。如果您删除此文件,源/主标记将消失,并且有关提前提交的信息也将不再显示。

如果您想将原点/主标记同步到当前主 HEAD,只需键入

git update-ref refs/remotes/origin/master cac0cab538b970a37ea1e769cbbde608743bc96d

而不是我的哈希将你的头部哈希从:

git log -1

或根据需要在文件内容上使用复制/粘贴。结果应该是一样的。

这对我有帮助,但我不知道还有什么受到影响。据我所知,此消息仅具有信息意义,而不是错误或警告。一切都按预期对我有用,没有任何限制。

于 2013-10-30T10:53:36.230 回答