如何从本地提交中删除一个不是我最后一次提交的文件

时间:2016-09-29 14:53:42

标签: git github

我错误地将zip文件添加到我的一个提交中,这不是最后一次提交。这是一个很大的文件,当我尝试将这些更改推送到服务器时,我遇到了困难,因为git尝试将文件推送到远程分支上。

如何删除此特定文件。

A --> B --> C --> D --> E --> F

我的遥控器在A处,我在提交C中错误地添加了文件,现在我在提交F处。

当我这样做时

git log --name-only

它显示了我手动删除的文件link

2 个答案:

答案 0 :(得分:0)

You can use an interactive git rebase -i as described here: Git-Tools-Rewriting-History。这样你就可以创建4个新的提交(C',D',E',F'),原始提交将被删除。如果您没有将更改推送到本地git存储库之外的任何位置,那么它是可以的,否则您不必不惜一切代价这样做!

答案 1 :(得分:0)

git rebase -i HEAD~20 // rebase最后20次提交

//将显示提交列表

//转到正确的提交并输入'edit',然后点击键盘上的“Enter”

我假设您使用的是nano而不是vim

相关问题