我一直在将Subversion代码库迁移到Git。一切顺利,我git svn clone(d)
存储库,然后git lfs migrate(d)
大文件和二进制文件。回购看起来不错,但我现在不能git svn rebase
...
$ git svn rebase Unable to determine upstream SVN information from working tree history $
我尝试了网络上关于解决这个问题的各种建议,但它们似乎都没有效果。有什么建议吗?我可以重置Subversion/Git信息吗?在执行git lfs clone
之前,我应该使用git lfs install(ed)
吗
发布于 2019-06-29 02:10:03
当使用git lfs import
时,git svn
索引被破坏的原因是后者重写了Git仓库历史(除非给出了--no-rewrite
选项)。
如果使用--no-rewrite
选项对你来说是可行的(也就是:你可以在Git仓库历史中保留大文件,只在以后的提交中删除它们),那么这可能是最简单的方法。
另一方面,如果你必须将那些大的二进制文件完全远离你的存储库存储,那么在它的历史记录中一定不能有将这些文件直接添加到Git的提交。因此,您必须继续使用普通的git lfs import
来重写git svn clone/fetch
创建的所有提交,并将这些文件重定向到LFS。在运行git lfs import
之后,您将需要重新生成git-svn rev_map
,以将重写的Git历史中的新提交映射到它们所镜像的SVN修订。我不知道是否有一种简单的方法可以做到这一点,但您可以看看https://github.com/Eloston/git-svn-lfs中的代码来有所了解。
https://stackoverflow.com/questions/54940889
复制相似问题