You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Git SVN迁移时init后仅获取trunk,如何保留原SVN目录结构?

解决方案

当然可行,你之前用--stdlayout只拉取到trunk内容,是因为这个参数会自动把SVN的trunk映射为Git主分支,branches下的子目录映射为Git分支,不会保留原有的目录结构。要保留SVN完整目录结构,按以下步骤操作:

  1. 清理现有仓库(如果之前已初始化过):删除当前目录下的.git文件夹,从头开始。
  2. 初始化Git-SVN仓库,不要使用--stdlayout参数:
    git svn init svn://example.com/project --no-metadata
    
  3. 编辑.git/config文件,找到[svn-remote "svn"]区块,修改fetch规则为拉取SVN根目录的全部内容:
    [svn-remote "svn"]
        url = svn://example.com/project
        fetch = :refs/remotes/origin/main
    
  4. 执行拉取命令:
    git svn fetch
    

完成后,你的Git仓库里就会和原SVN结构完全一致,包含branches和trunk两个子目录,以及它们下面的所有文件。后续如果要同步SVN的更新,直接运行git svn fetch即可,目录结构会保持和SVN一致。

内容的提问来源于stack exchange,提问作者zhemaitis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 05:46:06