由于.git文件夹的大小变得非常繁重,我们每天都在大量工作并提交大量数据。在我们的系统上执行 pull 命令时,由于.git文件夹的大小,需要花费很多时间。我们如何清理或减少这个git仓库的大小?
答案 0 :(得分:0)
您需要确定您的存储库中是否存在固有的大小内容 - 例如太多大型二进制文件 - 或者垃圾收集是否会修复它。
进行垃圾收集,看看你的回购有多大。
如果这不能解决问题,请查看@sauerburger提供的Atlassian链接,或根据您在那里找到的内容进行其他一些Google搜索。
(这些步骤的详细信息有意留作用户练习。)
答案 1 :(得分:0)
如果大多数文件大小都被.git
文件夹中的旧提交占用,而不是当前文件,那么您可以做的是将特定的最近提交作为根进行重新绑定,保留所有文件和提交。指出但要摆脱旧的历史。
请务必先备份所有内容!
引用此答案(https://stackoverflow.com/a/24153726/7070218):
这里有一种方法,假设您当前的工作被调用
branchname
。每当我做一个大的rebase时,我喜欢使用temp标签 仔细检查没有变化,并标记一点我可以 如果出现问题,我会回到reset
(不确定这是否是标准的 程序与否,但它适用于我):git tag temp git checkout 10004 git checkout --orphan new_root git commit -m "set new root 10004" git rebase --onto new_root 10004 branchname git diff temp # verification that it worked with no changes git tag -d temp git branch -D new_root
要删除旧分支,您需要删除所有标记和分支 标签上面;然后
git prune git gc
将从您的回购中清除它。
请注意,在您之前,您将暂时拥有两份副本 有
gc
'd,但这是不可避免的;即使你做标准的壁球 和rebase你还有两份副本,直到rebase 饰面。