2017-07-03 171 views

回答

0

请注意,所有解决方案都是历史重写,这需要与每个拥有回购克隆的人员进行协调,以避免您的工作被撤消。

三个工具,可以与利弊处理这个问题,每个:

最专业的您目的是lfs migratehttps://github.com/bozaro/git-lfs-migrate

另一种选择是BFG。根据我的经验,与lfs-migrate相比,它做的更好一些,其他则不如。如果你不关心打破历史,它也可以选择只读取大文件而不用替换指针文件。 https://rtyley.github.io/bfg-repo-cleaner/

或者如果你想坚持使用git内置命令,那么有git filter-branch(但它会更慢,更困难)。您可以设置index-filtergit rm --cached --ignore-unmatch受影响的路径(如果它们不移动)。这可能会很慢,并会破坏受影响的提交。您可以改为使用tree-filter,用适当的指针文件替换受影响的路径,并插入合适的.gitattributes文件。这甚至更慢(并且可能更难以正确)。