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

如何用Tortoise SVN从历史版本创建分支且不影响最新版本?

关于TortoiseSVN从历史版本创建分支的问题

操作目标

本地保留两个独立工作副本(WC),可按需切换使用。

执行的操作步骤

  • 在仓库浏览器中找到目标版本,右键点击
  • 选择「特定版本」单选按钮,输入版本号249
  • 点击「目标路径(To Path)」旁的省略号,弹出对话框自动填充现有Trunk的URL
  • 修改URL为存放该版本分支的新路径
  • 点击版本旁的黑色方框,弹出版本选择对话框
  • 将HEAD改为指定版本并输入249,确认后在仓库中创建了新分支

遇到的问题

创建分支后,系统提示检出新分支,但直接覆盖了本地最新版本的Trunk工作副本,全程未提示选择本地工作副本的文件夹名称。已通过备份恢复原最新Trunk,将被覆盖的版本重命名为「Trunk Version 62.5」,但担心提交「Trunk Version 62.5」或最新Trunk的修改时,会覆盖仓库中的最新版本,不清楚哪里操作出错。

操作对话框翻译(原英文对话框)

标题:复制(分支/标签)
源URL:[原Trunk的仓库地址]
从版本:特定版本(单选按钮选中),输入框内容:249(右侧带版本选择按钮)
目标URL:[你修改后的新分支仓库地址]
选项复选框:

  • 复制后立即检出工作副本(已勾选)
  • 仅复制变更(未勾选)
  • 忽略祖先(未勾选)
    检出到路径:[你本地原Trunk工作副本的文件夹路径]
    底部按钮:确定、取消、帮助

问题分析与解决

错误根源

核心问题是勾选了「复制后立即检出工作副本」,且未修改「检出到路径」——这个路径默认关联了你当前打开仓库浏览器时对应的本地Trunk工作副本路径,导致SVN直接用新分支内容覆盖了原Trunk的本地文件。

正确操作流程

  1. 创建分支时,完成仓库端分支创建(即你步骤1-6的核心设置)后,取消勾选「复制后立即检出工作副本」,点击「确定」完成仓库内分支的创建。
  2. 单独执行检出操作:打开TortoiseSVN的「检出」对话框,输入新分支的仓库URL,选择全新的本地文件夹路径(不要与现有Trunk路径重复),指定版本249,完成检出即可获得独立的历史版本分支工作副本。

提交风险说明

  • 你恢复后的原最新Trunk工作副本,关联的是仓库Trunk的URL,提交修改只会更新仓库的Trunk分支,不会覆盖仓库最新版本(提交前建议先执行「更新」操作,避免冲突)。
  • 「Trunk Version 62.5」实际是新分支的本地工作副本,它关联的是仓库中新分支的URL,提交该副本的修改只会推送到新分支,不会影响Trunk。你可以右键该文件夹→「TortoiseSVN」→「属性」→查看「svn:entry:url」属性,确认其关联的仓库路径。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 20:30:46