我无法从 git 中删除特定提交
I cannot delete a specific commit from git
我正在尝试从 git 日志中删除特定提交。我已经访问过很多问题,发现 git rebase -i
是可行的方法。
但这不起作用,为什么?
下面是我的屏幕截图,显示我有 3 次提交,我正试图摆脱 file1.txt
这是我一直在尝试做的事情:
git log --oneline
git rebase -i HEAD~2
然后记事本打开,
为了清楚起见,这里是屏幕截图:
然后我添加
drop <commit-hash of file1.txt>
then save and exit
但似乎没有任何变化!
我应该如何删除特定的提交?
如果那个特定的提交已经被推送到远程仓库,我该怎么办?
要使用交互式 rebase 删除提交,您必须从该提交的 parent 开始启动 rebase。这样,目标提交就会包含在待办事项列表中。
您没有这样做,因此您的目标提交不在待办事项列表中。您尝试手动添加它,但那是假的。
在您的目标没有父级的特殊情况下,您可以使用 --root 选项。那就是你所处的情况。
最后,请注意 Git 是关于提交的。不是文件。
我正在尝试从 git 日志中删除特定提交。我已经访问过很多问题,发现 git rebase -i
是可行的方法。
但这不起作用,为什么?
下面是我的屏幕截图,显示我有 3 次提交,我正试图摆脱 file1.txt
这是我一直在尝试做的事情:
git log --oneline
git rebase -i HEAD~2
然后记事本打开,
为了清楚起见,这里是屏幕截图:
然后我添加
drop <commit-hash of file1.txt>
then save and exit
但似乎没有任何变化!
我应该如何删除特定的提交?
如果那个特定的提交已经被推送到远程仓库,我该怎么办?
要使用交互式 rebase 删除提交,您必须从该提交的 parent 开始启动 rebase。这样,目标提交就会包含在待办事项列表中。
您没有这样做,因此您的目标提交不在待办事项列表中。您尝试手动添加它,但那是假的。
在您的目标没有父级的特殊情况下,您可以使用 --root 选项。那就是你所处的情况。
最后,请注意 Git 是关于提交的。不是文件。