[英]Unable to svn rebase after doing git lfs migrate
我一直在将Subversion代码库迁移到Git。 一切顺利,我git svn clone(d)
仓库,然后git lfs migrate(d)
大文件和二进制文件。 回购从Git方面看起来不错,但我现在无法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)
git lfs clone
吗?
使用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中的代码以了解一个想法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.