将 SVN 存储库的子文件夹迁移到 git



是否可以只将SVN存储库的一部分迁移到Git?请注意,我必须迁移位于根目录中的多个文件夹,但不是全部。例如,给定以下存储库:

REPO_ROOT
- FOLDER_A
- FOLDER_B
- FOLDER_C
- FOLDER_D

我只想迁移到 Git 存储库FOLDER_BFOLDER_C

是的。您必须从文件夹的 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. 克隆您想要的SVN部分
  2. 转到 git 存储库的根文件夹
  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. 类型 git remote remove tmp_repo

最新更新