我有"文件大小限制为100.00"在先前的提交中由于一个文件。我不想上传这个zip文件,但现在是在本地提交的,在我现在之前是2次提交。
每次我试图推送新提交时,它再次向我显示错误,因为它也试图推送以前的错误。
堆栈如下:
Commit1 (Actual)
Commit2
f0ce53a
Commit3
...
zip文件位于f0ce53a中,同样在此提交中有一些我希望推送它们的更改。
有没有办法在没有zip文件的情况下推送提交f0ce53a?
非常感谢, 如果您需要任何进一步的信息,请告诉我。
答案 0 :(得分:2)
解决问题的一种方法是使用交互式rebase(有关文档,请参阅here):
git rebase -i Commit3
您将获得一个可编辑的文本文件,如下所示:
pick f0ce53a Add a big pesky zip file and some other stuff
pick Commit2 Misc. changes
pick Commit1 Misc. changes
文件底部会有一些有用的注释行,列出各种可能的命令。我们关心的是pick
,这意味着提交应该按原样使用,而edit
将在给定提交时停止rebase以允许我们修改它。
f0ce53a
是添加了zip文件的提交,因此我们会在该行上将pick
更改为edit
,并留下以下内容:
edit f0ce53a Add a big pesky zip file and some other stuff
pick Commit2 Misc. changes
pick Commit1 Misc. changes
保存文件并退出(vim::x
),您将处于问题提交状态。删除zip文件并修改提交,然后继续rebase:
git rm foo.zip
git commit --amend
git rebase --continue
您已经重写了历史记录,就像从未提交过zip文件一样。