1

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

我已经尝试过git push origin :master,但出现错误:

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

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

4

2 回答 2

2
branch is currently checked out

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

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

如果您没有直接访问权限,则可以转到正确的本地 repo 并强制将正确的 HEAD 推送到 master

git push origin HEAD --force

但我也建议将您的远程仓库转换为裸仓库

于 2011-02-03T07:25:58.100 回答
1

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

于 2011-02-03T07:28:13.427 回答