我有一个使用 git-svn 从 SVN 迁移的 Git 存储库。我曾经git svn fetch
从 SVN 获得最新的提交。我想将 repo 推送到 GitHub,但是历史记录中有一些大于 100 MB 的文件我必须删除,所以我使用bfg repo clean来删除它们。
$ java -jar bfg-1.12.14.jar --strip-blobs-bigger-than 100M
...
In total, 10235 object ids were changed. Full details are logged here:
...
BFG run is complete! When ready, run: git reflog expire --expire=now --all && git gc --prune=now --aggressive
...
$ git reflog expire --expire=now --all && git gc --prune=now --aggressive
Counting objects: 204963, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (171827/171827), done.
Writing objects: 100% (204963/204963), done.
Total 204963 (delta 91547), reused 106805 (delta 0)
$ git svn fetch -A authors-transform.txt
fatal: Invalid revision range b156a7b66be002c3bf38987ea503f5c852146343
rev-list --pretty=raw --reverse b156a7b66be002c3bf38987ea503f5c852146343..refs/remotes/git-svn --: command returned error: 128
如何在不重新初始化整个存储库的情况下使其工作,因为我不希望这些文件再次出现在历史记录中(它们超出了 GitHub 的限制)?有什么方法可以重新计算哈希或让它忽略不匹配?