我刚刚意识到大约一个星期了,我的git推送实际上并没有进入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
如何才能推送正确的存储库?
答案 0 :(得分:1)
确保您不在DETACHED HEAD mode。
在这种情况下,本地提交不会修改本地refs/heads
,这意味着任何类型的推送都会导致“Everything up-date”错误消息。
如果是这种情况,you can create a local branch referring the current (detached head)或重置现有的本地分支,然后推送将起作用。
要从您的情况中恢复,您应该创建一个分支,指向分离的HEAD当前指向的提交:
git checkout -b temp
这会将您的HEAD重新附加到新的
temp
分支。
如果你想要分支到你想要使用的分支(它应该是快进合并),你可以合并。
git checkout local_branch
git merge temp
如果您只与master合作(作为您唯一的本地分支机构)
git checkout master
git merge temp
使用以下方法检查分支机构的状态:
git branch -avvv
然后你可以推。