在 TortoiseSVN 中,将一个分支的提交 “拷贝” 到另一个分支,标准操作是 Merge(合并),SVN 会自动计算并应用增量变更,而非完整复制文件,更高效安全。
核心前提
- 合并在本地工作副本进行:先检出目标分支(要把代码合并到的那个分支)的干净工作副本(无未提交修改)TortoiseSVN。
- 准备源分支信息:获取源分支(代码来自哪个分支)的服务器 URL,以及需要合并的修订版本号(单个或多个 / 范围)。
操作步骤(适用于将分支 A 合并到分支 B)
- 进入目标分支的本地工作副本根目录,右键 → TortoiseSVN → Merge…。
- 合并类型选择 Merge a range of revisions(合并一个版本范围),点击 Next。
- URL to merge from(合并源):点击「…」选择源分支的服务器路径。
- Revision range to merge(版本范围):按需选择
- All revisions:合并源分支所有未合并到目标的提交。
- Specific range:精准指定,支持单个版本号(如
120)、范围(110-120)或逗号分隔多版本(110,115,120)。
- 点击 Next,保持默认选项,可先点 Test merge 预览无冲突再执行,最后点击 Merge。
- 合并完成后,解决冲突(若有),验证代码无误后提交到版本库。
常见场景与注意事项
表格
| 场景 | 操作要点 |
|---|---|
| 合并指定单次提交 | 版本范围填该提交的修订号(如 150),精准应用单条变更。 |
| 合并多个连续提交 | 版本范围填起始 - 结束修订号(如 140-150),批量应用连续变更。 |
| 合并历史已合并过的分支 | 建议用 Specific range 手动勾选未合并的版本,避免重复合并导致冲突。 |
| 合并前必做 | 先 Update 拉取最新代码,再 Commit 本地未提交修改,保证工作副本干净。 |
| 冲突处理 | 冲突文件需手动编辑解决后,右键 Mark as resolved 标记解决,再继续合并流程。 |
补充:树合并(特殊场景)
若需合并两个不同根路径的分支(非同源分支),选择合并类型 Reintegrate a branch 或 Merge two different trees,适用于无共同历史的分支合并,需确认路径对应关系。
8382

被折叠的 条评论
为什么被折叠?



