使用大文件删除过去的git提交

时间:2013-06-18 17:15:54

标签: git github rebase

我在当地的回购邮件中做了大约5次提交的大型git提交。我需要删除这个提交,(实际上只是提交的大文件/视频),以便我可以将我最新的提交上传到github。

我是否以某种方式使用Rebase命令?

我基本上需要删除我在意外添加到此提交中的视频文件,但保留代码更改时使用此提交。

发现了这一点,但想在我尝试第一次变基之前确认:How can I remove a commit on GitHub?

1 个答案:

答案 0 :(得分:1)

您可以使用标记来跟踪您的提交历史记录。这是一种不使用rebase进行类似操作的方法。

它可能会像(确保一切正常的几个步骤):

git tag wip
git reset --hard wip~4
git rm -f file1 file2 ...
git commit --amend -C wip~4
git cherry-pick `git rev-list wip~4..wip`
git diff wip
git tag -d wip
git push -n

另一种方法是在交互模式下使用rebase:

git rebase -i HEAD~5