使用svn2git迁移SVN代码时能否自定义trunk对应Git的main分支而非master
svn2git自定义trunk迁移目标分支方案
svn2git支持自定义SVN trunk对应的Git目标分支,以下是三种常用的实现方案:
方法1:迁移时直接指定目标分支为main(推荐)
新版svn2git工具原生支持指定trunk映射的Git分支名,不需要迁移后二次修改分支配置,执行迁移命令时新增--mainbranch main参数即可,示例命令如下:
svn2git https://你的SVN仓库根地址 --trunk trunk --branches branches --tags tags --mainbranch main
方法2:提前修改Git默认分支配置(全版本兼容)
如果你使用的旧版svn2git不支持自定义分支参数,可以通过修改Git全局默认初始化分支配置实现,适配所有svn2git版本:
- 执行迁移前先设置Git默认初始化分支为main:
git config --global init.defaultBranch main - 正常执行原有svn2git迁移命令即可,此时trunk内容会自动迁入生成的main分支
- (可选)迁移完成后如果需要恢复原有默认分支配置,执行:
git config --global init.defaultBranch master
方法3:迁移完成后手动重命名分支
如果已经完成迁移,trunk内容已经存放在master分支上,可以直接手动重命名分支:
- 重命名本地master分支为main:
git branch -m master main - 将新的main分支推送到远端Git仓库并绑定追踪关系:
git push -u origin main - (可选)删除远端仓库废弃的master分支:
git push origin --delete master
注意:如果你的SVN仓库没有使用标准的trunk/branches/tags目录结构,需要先确认trunk对应的实际路径,对应调整迁移命令中的
--trunk参数值,避免拉取错误目录的内容。
内容的提问来源于stack exchange,提问作者Rajeswari
相关产品推荐
相关产品推荐

