2016-11-04 170 views
1

我试图推送一个超过100 MB的文件,并且出现无法推送大小超过100 MB的文件的错误。然后,我在我的文件中更改了大小,现在大小为15 MB,并重新推荐了所有内容。问题是旧的提交仍然存在,当我尝试推送所有旧提交时,“阻止”新提交。我仍然遇到与以前一样大小限制的错误。旧提交会让git无法推送

所以,我的问题是,是否有任何可能使git在推送时忽略此提交或可以从分支历史记录中删除它?

+0

向后走数你知道哪个提交#是吗? – 2016-11-04 20:55:09

+0

我使用SourceTree,所以我知道它是从顶部第三次提交。 – martin36

回答

1

可以大前100 MB与(这将下降散列毕竟提交)

git reset --hard <sha1-commit-id> 

然后重新作出的15 MB的文件提交你的资料库恢复到提交权利。

或者你可以做一个互动变基拖放提交(d)在保持其他的提交和重新应用

git rebase -i HEAD~N 

而N是提交你想在底垫

+0

然后我会保留我的当前文件吗? – martin36

+0

如果你做rebase(第二个建议)是的,它只会放弃你选择的提交,并重新申请所有其他提交 – madnight

+0

我试图做rebase的事情,但它没有做我想做的。但你的第一个选择工作。我必须在使用reset命令之前在磁盘上创建备份。谢谢! – martin36