git:在我'git push'之后,为什么我在X提交时领先于origin / master?

时间:2010-10-11 14:18:23

标签: git commit remote-branch

我在服务器上使用一个裸git存储库进行备份,并在本地执行'git commit'后使用'git push'推送本地更改。

'git status'告诉我

# On branch master
# Your branch is ahead of 'origin/master' by X commits.

如果我修改了一个文件,然后执行另一次提交然后按下,git告诉我我的分支是由X + 1提交提前的。 'git remote show origin'告诉我,fetch和pull URL都与我提供的推送相同。

我已经确认我的更改确实被推送到服务器存储库(通过拉入其他位置并检查内容)。

我在这里做错了什么?

PS:我知道SO上有几个相关的问题,但我找不到其中任何一个问题的答案。如果我在这方面做错了,请指出正确的方向。

3 个答案:

答案 0 :(得分:6)

听起来你正在直接推送到网址。试试git push origin,这会更新origin的引用(原则上,您可以使用相同的引用名称两次使用相同的URL:消息引用引用名称。)

答案 1 :(得分:1)

即使您实际上没有本地提交,有时您也会遇到此问题。如果你被卡住了,那么

git pull origin [branch]

没有帮助你,只需尝试

git pull origin and git pull

这些命令应该直接设置您的仓库,并通过X提交清除您在原点/主数据之前的问题。

答案 2 :(得分:0)

我发现更新“原点”的跟踪信息也很有效。

尝试:

git fetch origin