将SVN repo的子文件夹迁移到git

时间:2014-02-12 15:53:36

标签: git svn

是否可以仅将SVN仓库的一部分迁移到Git? 请注意,我必须迁移位于根目录中的多个文件夹,但不是所有文件夹。 例如,给出以下回购:

REPO_ROOT
- FOLDER_A
- FOLDER_B
- FOLDER_C
- FOLDER_D

我想仅迁移到Git仓库FOLDER_BFOLDER_C

2 个答案:

答案 0 :(得分:1)

是。您必须从文件夹的URL克隆(对于Git 1.6.4+)使用(除了其他)选项--no-minimize-url

git svn clone --prefix=svn/ --authors-file=authors.txt --no-minimize-url http://PEPO/PATH/TO/FOLDER/ ...

答案 1 :(得分:0)

我找到了一个方便的解决方案:

  1. 克隆你想要的那部分SVN
  2. 转到git repo的根文件夹
  3. 输入git remote add -f tmp_repo PATH_OF_THE_SVN_CONE
  4. 输入git merge -s ours –no-commit tmp_repo/master
  5. 输入git read-tree –prefix=Demo/Kinect -u Kinect/master
  6. 提交
  7. 检查一切正常
  8. 输入git remote remove tmp_repo