2012-08-06 161 views
2

所以我使用git一次(大量)拉出大量文件。git需要很长时间才能加载

但后来我用git rm从git的数据库中删除目录,因为git的启动需要很长时间,从产地拉,但调用git rm没有解决的问题 - 蹦仍需要很长的时间,从产地拉。

除了重新创建存储库以解决此问题之外,还可以做些什么?

回答

2

因为混帐保留所有提交的历史,即内容技术上的git仓库(其中,幸运的是正是源回购是好:)

可以改写过去的历史删除所有对文件夹的引用。

这个网站有使用filter-branch一个例子:

http://dalibornasevic.com/posts/2-permanently-remove-files-and-folders-from-a-git-repository

注:你改写历史,你将需要强制回购推送到服务器。如果其他人正在使用/承诺它,可能会导致他们一些麻烦。

编辑:的话题另一个有趣的阅读:http://ramblinglabs.com/blog/2012/04/git-removing-sensitive-data-and-rewriting-history

0

git rm不会真正删除其是在致力于在你已经在你的仓库中引用的任何头的当前历史上的任何一点大对象(如分公司,标签等)

我不确定这是什么导致git拖慢(根据我的经验,一旦你拉了很大的差异,事情应该回到快速和正常的后续拉) ,但如果您怀疑它,您可以尝试使用git rebase完全删除包含较大差异的提交。

一旦你这样做了,你可以做一个git gc来清理分离的对象从你回购和减少整体大小。 rsync与你是远程回购,你需要做一个强制推动。

相关问题