GIT从多项目结构中克隆出一个SVN项目
我们喜欢使用GIT,我们希望从SVN中逐步克隆项目 我们的SVN结构如下所示:GIT从多项目结构中克隆出一个SVN项目,git,svn,clone,repository,Git,Svn,Clone,Repository,我们喜欢使用GIT,我们希望从SVN中逐步克隆项目 我们的SVN结构如下所示: thrunk/ -------/project1 -------/project2 -------/project3..N branches ---/devlopment -------/project1 -------/project2 -------/project3..N ---/feature-2 -------/project1 -------/project2 -------/project3..N ta
thrunk/
-------/project1
-------/project2
-------/project3..N
branches
---/devlopment
-------/project1
-------/project2
-------/project3..N
---/feature-2
-------/project1
-------/project2
-------/project3..N
tags
---/v1.0
-------/project1
-------/project2
-------/project3..N
例如,我们希望首先只克隆project2。我们如何才能做到这一点而不丢失分支的整个历史记录等等?我认为最好的方法是使用
git svn
将整个历史记录导入git,然后与git filter branch
一起使用,将每个子目录拆分为自己的git存储库。由于您的svn结构,保持分支和标记历史记录在这里很棘手
你可以使用这个工具。
在您的情况下,命令将是
svn2git/svn--trunk/trunk/project2--tags/tags/--branchs/branchs/我搜索了
git过滤器分支,找到了示例。首先,我使用git svn clone REPO-s-A./authors.txt
正常克隆ist,然后使用git filter branch--index filter“git rm-rf--cached--ignore unmatch/project1/project3”--prune empty--all
是否正确该命令知道我在所有分支和标记中只需要project2,因为我在--trunk
参数中定义了它?