将 SVN 主干中的每个目录转换为不同的 GIT 存储库
Posted
技术标签:
【中文标题】将 SVN 主干中的每个目录转换为不同的 GIT 存储库【英文标题】:Convert each directory within SVN trunk to different GIT repositories 【发布时间】:2021-12-18 17:01:59 【问题描述】:我正在尝试将 SVN 存储库转换为 GIT 存储库。在我的 SVN /trunk
目录中,我有多个目录:
/trunk
/apps
/site
/services
/scripts
/branches
...
/tags
...
如果我运行命令git svn clone --authors-file=authors.txt https://mysvnrepo.com.br/svn/myapp/ c:/mygitrepo
,它将只创建一个包含所有目录的 GIT 存储库。
基本上我想要为/trunk
中的每个目录创建一个GIT 存储库,这样我就有4 个不同的GIT 存储库:apps
、site
、services
和scripts
。
我也想只创建 GIT main
分支,忽略其他 SVN 分支。
如何使用git svn
命令执行此操作?
【问题讨论】:
"…一个包含所有目录的 GIT 存储库。" 现在将存储库一分为四:***.com/a/17864475/7976758 【参考方案1】:我建议先将 SVN 存储库转换为 一个 Git 存储库。
然后在该 Git 存储库上使用 git filter-repo
,以便从其中的 4 个子文件夹中提取 4 个存储库。
git filter-repo --path apps
git filter-repo --path site
git filter-repo --path services
git filter-repo --path scripts
作为illustrated here。
【讨论】:
以上是关于将 SVN 主干中的每个目录转换为不同的 GIT 存储库的主要内容,如果未能解决你的问题,请参考以下文章
使用没有主干标签和分支的 SVN 存储库从 SVN 迁移到 Git