0

推错东西后,我使用以下方法撤消它:

git reset --hard HEAD~1

之后,日志的编号在提示符中。我怎样才能删除它?

另外,现在当我现在尝试提交时,我收到此错误:

目前不在任何分支机构

4

1 回答 1

1

正如rlegendi 所提到的,您必须调用git checkout <branchname>才能退出分离模式。

如果您想从之前推送到的存储库中删除最后一次提交,则必须调用git push -f以强制执行推送。

但请注意:之前拉出您意外推送的提交的其他人可能不得不重新设置其本地分支(请参阅 recovery_from_upstream_rebase 的“困难案例

举个例子,考虑一下

  1. 您和您的合作者正在处理master分支,
  2. 您将其推送到引用为origin的远程仓库。
  3. 您删除了 origin 的 master 上的最后一次提交,并且
  4. 合作者将旧版本拉到它仍然存在的地方。

在这种情况下,他们必须执行

git fetch origin
git rebase --onto origin/master master

在另一种情况下,协作者在原始删除的提交之上没有额外提交,他们必须执行

git fetch origin
git rebase --onto origin/master master~n
于 2012-11-15T14:59:37.367 回答