删除或撤消对远程Git仓库的推送

时间:2011-02-03 07:06:21

标签: git git-checkout git-remote

我创建了一个远程git存储库,然后从错误的本地存储库中将代码推送到它 本地仓库很好我只想删除我推送到遥控器的内容并重新开始。

我尝试了git push origin :master,但收到了错误:

! [remote rejected] master (branch is currently checked out)
error: failed to push some refs to 'ssh://.................

有一种简单的方法可以检查吗? “签入”或“签入”(以及其他变体)不会产生相关结果。

2 个答案:

答案 0 :(得分:2)

branch is currently checked out

这意味着您的remote repo isn't a bare repo(即没有任何工作树的存储库,意味着已经检出了分支)。另外,这将删除所有master分支!

如果您可以访问远程仓库所在的服务器,则可以将主分支重置为HEAD~1remove what has just been pushed(假设您是唯一可以推送它的人)。< / p>

如果您没有直接访问权限,可以访问正确的本地仓库并force push that correct HEAD to master

git push origin HEAD --force

但我也建议converting your remote repo to a bare repo

答案 1 :(得分:1)

您尝试执行的操作会删除分支头,而不是提交。绝对不是你想要的。 但是,删除中央提交是一个不好的想法。改为使用“git revert”。