gpt4 book ai didi

git - 提交的大文件损坏了我的 GIt 存储库

转载 作者:太空狗 更新时间:2023-10-29 13:41:56 27 4
gpt4 key购买 nike

我想将一个与某些编码相关的 sql 文件移动到我的暂存服务器。我忽略了它的大小为 1Gig 的事实并提交了文件。我不记得它是否完成了提交,但我继续提交来自不同文件的其他更改。现在,当我在暂存服务器上获取或 pull 开发中的更改时,出现内存不足错误。我在我的开发系统上观看了 top 并且在获取期间正在使用所有内存。

有没有办法让 Git 完全忘记我曾经提交过大型 sql 文件?我的开发系统是 MacOS,暂存系统是 Linux。

最佳答案

是的。但是你必须通知任何 pull 重新克隆存储库的人以避免以后的麻烦。您需要做的是 rebase-interactive 提交所在的分支并删除提交。从没有其他引用(分支、标签等)引用它的那一刻起,提交将保留大约 30 天(默认情况下)。这使您有足够的时间稍后改变主意。当然,如果您愿意,可以修剪 reflog,然后对存储库进行垃圾收集以立即缩小存储库。

例如:

git checkout contaminated-branch
git rebase -i HEAD~100 # if 100 commits ago is long enough

然后您将打开一个编辑器,列出自 100 次提交之前的提交。找到您添加该大文件的提交,并在编辑器中删除它的行。保存并退出。

如果他们在您提交了那个大文件后从该存储库中 pull ,这将使每个人的存储库无效。今天一定要对他们好。

关于git - 提交的大文件损坏了我的 GIt 存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4027536/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com