我在服务器上使用一个裸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上有几个相关的问题,但我找不到其中任何一个问题的答案。如果我在这方面做错了,请指出正确的方向。答案 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