我需要将部分SVN repo迁移到git.
例如,SVN根目录是:http://example.com/svn/project,我需要迁移项目子目录,如http://example.com/svn/project/trunk/foo/bare.
我试着用:
git svn clone http://example.com/svn/project \
-Ttrunk/foo/bare --no-metadata -A ~/authors-transform.txt ~/temp
在这个命令之后我得到一个带有两个分支的git repo:trunk和trunk @ 61,但是我只需要一个分支.
迁移后只需要一个分支我需要做什么?
最佳答案 当然,删除不需要的分支.但是你会在修订版61之前放弃历史.
trunk @ 61存在,因为您要导入的目录已被替换.在某种程度上,git svn并不认为是历史的延续.因此,它记录了该修订版的ref值,并重新开始.
由于它是一次性转换,您可以使用graft来连接历史记录,filter-branch来重写它,因此不需要移植文件(参见filter-branch文档)而不是删除现在无用的分支.