1

在此处输入图像描述

我想删除突出显示的提交 9dfd73。如您所见,它不是一个分支。这是一个分离的头的结果。

我尝试在其上创建一个分支,然后使用 git branch -D 9dfd73 删除该分支,但是删除了该分支,留下了提交。

有任何想法吗?

更新:

由于某种原因,该提交不再在我的树中退出,而且我没有机会尝试您的解决方案。

但是,如果您能解释该命令的真正作用,我会将其标记为正确答案:-)

git rebase --onto <9dfd73>^ <9dfd73> HEAD

我理解它类似于:“将提交 9dfd73 和 HEAD 之间的所有提交(不包括 HEAD 本身)放在提交 9dfd73 之上”

但我不明白 ^ 符号。

另外,我不确定ID是否应该相同。你能进一步解释一下吗?

谢谢

4

3 回答 3

1

使用以下命令,

git rebase --onto <commit-id>^ <commit-id> HEAD

commit-id 将是您的 SHA-1 id

于 2012-04-13T10:50:38.677 回答
1

您应该尝试 gitk ( ctrl-F5) 中的文件 > 重新加载菜单。这可能会使您的提交消失,因为它不再是当前提交并且不在任何分支上。

于 2012-04-13T11:36:12.147 回答
0

如果您现在坚持要摆脱它/它们,请按照这些说明进行操作。但是,不要担心它;它最终会自行消失。

于 2012-04-13T14:06:37.193 回答