2015-02-09 91 views
0

我使用git-svn将我的团队项目从SVN迁移到github。历史记录被正确保存,但SVN分支被提交到master的顶层目录,而不是git-branches。在合并之前,这些分支与“主干”同步。SVN迁移后的Git分支

所以GitHub的目录结构如下:

trunk/ 
branches/ 
     *branch1 
     *branch2 
     etc. 

我想每个分支文件夹中的子文件夹移动到其自己的Git分支,然后从主删除。但我不确定是否需要自行创建分支,然后合并文件夹然后删除文件夹?或者与主人分享?

,我用迁移库中的原有命令为:

git svn clone --stdlayout --no-metadata --authors-file=users.txt svn://path/to/my/SVN 

但是,这仍然没有得到正确的分支。任何人都可以帮助我解决这个问题吗?谢谢。

回答

1

使用-s/--stdlayout选项时做git svn initclone,例如,

git svn clone -s <path to the svn folder containing trunk and branches> 

这样git-svn会识别你的trunk作为master和你的svn分支作为git分支。

+0

嗨!感谢您的回复...我使用的命令是: git svn clone --stdlayout --no-metadata --authors-file = users.txt svn://主机名/路径dest_dir-tmp 但是,它仍然没有工作。我只是希望在这一点上与已经在git中的东西一起工作,并将文件夹移动到分支。这可能吗? – cooper 2015-02-09 19:17:35

+0

如果你喜欢不错的历史,你可能想让'git svn clone'正确导入你的项目。否则,你可能会尝试[git subtree](https://www.mankier.com/1/git-subtree):'git subtree split --prefix = branches/branch1 -b branch1'似乎接近你需要,但似乎并没有保留历史。 – 2015-02-09 21:01:12