如何删除提交

时间:2012-04-13 10:43:07

标签: git commit

enter image description here

我想删除提交9dfd73,突出显示的那个。 你可以看到它不是一个分支。这是一个分离头的结果。

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

有什么想法吗?

更新:

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

但是如果你能解释一下这个命令到底做了什么,我会把它标记为正确的答案: - )

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

我理解它是这样的:“在提交9dfd73和HEAD之间进行所有提交(不包括HEAD本身)并将它们放在提交9dfd73之上”

但我不明白^符号。

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

谢谢

3 个答案:

答案 0 :(得分:1)

使用以下命令

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

commit-id将是您的SHA-1 id

答案 1 :(得分:1)

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

答案 2 :(得分:0)

如果您现在坚持要删除它/,请按these instructions。但是,不要担心它;它最终会自行消失。