我遇到了一个非常棘手的问题。
我的服务器上有一个非常庞大的回购。巨大的意思是:很多提交,分支导致一个很大的.git文件夹。
现在我想在日期之前删除一些历史记录提交,以减少.git文件夹大小。
上周,我学到了很多关于git的知识。而且我发现我越倾斜,我就越困惑。
我的问题是:
可以通过删除一些历史记录提交的确实很小的.git大小吗?因为现在仍然可以使用较旧的版本。
如果#1为真,我该怎么做?我学会使用.git / info / grafts + git filter-branch ..但每次结果都是一团糟。提交行被分成几行,因为在我切断之前有很多分支。
即使我解决了分裂线,也能按照我的预期获得一条线。但是我的git repo是一个发布版本,许多人已经克隆它并继续工作。本地存储可以解决冲突而无需重新克隆远程处理的存储库吗?
我希望我明白我的问题。
任何建议都将受到赞赏!!!
答案 0 :(得分:1)
我可以回答#1。
我强烈建议您在不删除以前的提交的情况下减少远程服务器上Git仓库的大小。这是因为如果有人向你的Git仓库提交提交错误,你可能需要恢复到之前的提交。
要减少远程服务器上Git仓库的大小:
git reflog expire --all --expire = now
git gc --prune = now --aggressive
答案 1 :(得分:0)
命令 git filter-branch --tree-filter'rm -f'HEAD 可以帮助你处理所需的事。
答案 2 :(得分:0)
您也可以尝试重置以限制您拥有的提交数量。如果您想更安全地执行此操作,请使用git:
git reset
看看https://www.atlassian.com/git/tutorials/undoing-changes/git-reset;除非另有说明,否则所有内容均根据知识共享署名2.5澳大利亚许可证进行许可。