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

我创建了一个远程git仓库,并继续从错误的本地仓库推送代码。
本地回购很好,我只是想删除我推送到远程的内容并重新开始。

我试过git push origin :master但是出现错误:

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

有没有简单的方法来检查它? “检入”或“检入”(以及其他变化)不会产生相关结果。


branch is currently checked out

这意味着您的远程回购不是一个裸回购(即没有任何工作树的存储库,这意味着分支已经签出)。 另外,这将删除所有master分支!

如果您有权访问远程回购的服务器,您可以将主分支重置为HEAD~1 ,以删除刚刚推送的内容(假设您是唯一推送给它的人)。

如果你没有直接访问,你可以去一个正确的本地回购,并强制推动正确的HEAD掌握:

git push origin HEAD --force

但我也建议将您的远程回购转换为裸回购。


你试图做的是删除分支头,而不是提交。 绝对不是你想要的。 但是,删除中央提交是一个坏主意。 改用“git revert”。

链接地址: http://www.djcxy.com/p/8641.html

上一篇: Deleting or undoing a push to a remote Git repo

下一篇: How can I trigger garbage collection on a Git remote repository?