【发布时间】:2021-10-21 02:59:44
【问题描述】:
我正在尝试从 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
我应该如何删除特定的提交?
如果那个特定的提交已经被推送到远程仓库,我该怎么办?
【问题讨论】:
-
你想删除第一个提交?
-
你必须告诉 git 从
file1.txt之前开始:git rebase -i HEAD~3 -
如果
file1.txt提交是您历史上的第一个提交,则有一个特殊选项:git rebase -i --root -
@LeGEC 我确实尝试过
git rebase -i HEAD~3,但它告诉致命:上游'HEAD~3'无效。这是什么意思? -
@LeGEC
git rebase -i --root工作,但让我们假设 file.txt 不是第一次提交。假设它位于中间的某个地方。