提交的大文件损坏了我的GIt存储库
我想将一个sql文件移动到我的暂存服务器,该服务器与一些编码相关。我忽略了一个事实,即它的大小是1Gig,并提交了该文件。我不记得它是否完成了提交,但我继续提交来自不同文件的其他更改。现在,当我在登台服务器上,从开发中获取或提取更改时,会出现内存不足错误。我在我的开发系统上观看了top,所有的内存都在获取过程中使用 有没有办法让Git完全忘记我提交过大的sql文件?提交的大文件损坏了我的GIt存储库,git,Git,我想将一个sql文件移动到我的暂存服务器,该服务器与一些编码相关。我忽略了一个事实,即它的大小是1Gig,并提交了该文件。我不记得它是否完成了提交,但我继续提交来自不同文件的其他更改。现在,当我在登台服务器上,从开发中获取或提取更改时,会出现内存不足错误。我在我的开发系统上观看了top,所有的内存都在获取过程中使用 有没有办法让Git完全忘记我提交过大的sql文件? 我的开发系统是MacOS,登台是Linux。是。但是,为了避免以后的麻烦,您必须通知任何试图重新克隆存储库的人。您需要做的是重新设
我的开发系统是MacOS,登台是Linux。是。但是,为了避免以后的麻烦,您必须通知任何试图重新克隆存储库的人。您需要做的是重新设置提交所在分支的基础,并删除提交。从没有其他引用(分支、标记等)引用它的那一刻起,提交将保留大约30天(默认情况下)。这给了你足够的时间在以后改变主意。当然,如果您愿意,可以修剪reflog,然后对存储库进行垃圾收集,以立即缩小存储库 例如:
git checkout contaminated-branch
git rebase -i HEAD~100 # if 100 commits ago is long enough
然后,您将打开一个编辑器,列出自100次提交以来的提交。找到添加该大文件的提交,并在编辑器中删除其行。保存并退出
这将使每个人的存储库失效,如果他们在您提交了那个大文件后从该存储库中取出。今天一定要对他们好一点