[英]git pushing wrong repository to bitbucket
我只是意识到,大约一个星期以来,我的git push实际上并没有进入我在bitbucket上的存储库。 我正在使用Mac,并在本地安装GitX,这显示了我过去一周的提交,但尚未提交到bitbucket。
当我尝试git push
它说“一切都是最新的”。 我已经尝试过git push origin master
, git push --all
, git push origin --all
和git push origin master:master
都说“最新”。
如前所述,我在本地使用GitX来查看提交/文件。 我正在处理的项目目录是/Applications/XAMPP/xamppfiles/hdtocs/serve
,但是我在gitx中注意到有一个标记为/Applications/XAMPP/xamppfiles/hdtocs/serve1
的存储库。 我检查了serve1中的提交,果然,它与bitbucket上的提交匹配。 我不知道如何/怎么做,但这只是服务存储库的旧版本。
尽管已将提交正确地本地添加到服务存储库,但是git似乎试图推送serve1,这解释了为什么不显示任何更新。 我确保我位于cd /Applications/XAMPP/xamppfiles/hdtocs/serve
我该怎么做才能获取正确的存储库?
确保您不在DETACHED HEAD模式下 。
在这种情况下,本地提交不会修改本地refs/heads
,这意味着任何类型的推送都会导致“一切都最新”错误消息。
如果是这种情况, 您可以创建一个引用当前(分离头)的本地分支,或将现有的本地分支重置为该分支, 然后进行推送。
为了从您的情况中恢复过来,您应该创建一个分支,该分支指向分离的HEAD当前指向的提交:
git checkout -b temp
这会将您的HEAD重新连接到新的
temp
分支。
然后,如果您想将该分支合并到要使用的分支,则可以合并(它应该是快速合并)。
git checkout local_branch
git merge temp
如果您仅与master一起工作(作为您唯一的本地分支机构)
git checkout master
git merge temp
使用以下命令检查分支的状态:
git branch -avvv
然后,您可以进行推送。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.