如何从已推送的提交中删除/移除文件?

如何从已推送的提交中删除/移除文件?

是否可以从远程和本地存储库中删除/移除一些不需要的文件?
我有点太快了,将 5 个文件推送到远程存储库。现在我的同事推送了他的工作,发现这些不需要的文件太迟了。所以现在在我“错误”提交之后有 2 次提交。

我尝试使用

git rebase -i HEAD~3

并将第一个条目更改为“编辑”,并删除不需要的文件。接下来我使用

git commit --amend
git rebase --continue

但 GIT 不会完成它。它总是说我处于最后一次提交并且正在进行重新定基。但我无法继续完成它。

答案1

您可以轻松地从本地 git 存储库中删除不需要的文件:
只需使用
git rm file
或删除它们
git rm -r directory(如果您添加 -flag,--cached则文件不会从文件系统中删除)。然后提交(或提交 --amend)以从上次提交中删除文件(但它会保留在历史记录中)。另请参阅这里

如果您想从远程存储库中删除它,请按照相同的步骤操作,然后推送。

答案2

git rm file
git commit --amend
git push origin HEAD:refs/for/develop

相关内容