首页 > 解决方案 > 我无法从 git 中删除特定的提交

问题描述

我正在尝试从 git log 中删除特定的提交。我已经访问了许多被问到的问题,并发现这git rebase -i是要走的路。但这不起作用,为什么?下面是我的屏幕截图,显示我有 3 次提交,我正试图摆脱file1.txt

这是我一直在尝试做的事情:

git log --oneline
git rebase -i HEAD~2

然后记事本打开,为了清楚起见,这里是屏幕截图: 在此处输入图像描述

然后我添加

drop <commit-hash of file1.txt>
then save and exit 

但似乎什么都没有改变! 在此处输入图像描述

我应该如何删除特定的提交?

如果那个特定的提交已经被推送到远程仓库,我该怎么办?

标签: gitgithubgit-bash

解决方案


要使用交互式变基删除提交,您必须从该提交的父级开始启动变基。这样,目标提交就会包含在待办事项列表中。

您没有这样做,因此您的目标提交不在待办事项列表中。您尝试手动添加它,但这是虚假的。

在您的目标没有父级的特殊情况下,您可以使用 --root 选项。那就是你所处的情况。

最后,请注意 Git 是关于提交的。不是文件。


推荐阅读