9

我在服务器上使用裸 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 与我作为 push 参数提供的相同。

我已经验证我的更改确实被推送到服务器存储库(通过拉到不同的位置并检查内容)。

我在这里做错了什么?

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

4

3 回答 3

6

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

于 2010-10-11T14:23:20.800 回答
1

有时即使您实际上没有本地提交,您也会遇到这种情况。如果你被卡住了,并且

git pull origin [branch]

对你没有帮助,只需尝试

git pull origin and git pull

这些命令应该直接设置您的 repo 并清除 X 提交领先于 origin/master 的问题。

于 2012-05-03T18:03:20.297 回答
0

我发现更新您的“来源”跟踪信息也很有效。

尝试:

git fetch origin
于 2014-03-13T17:32:59.903 回答