merge - TortoiseSVN - 如何将分支合并到主干?
问题描述
我使用 TortoiseSVN 已经有一段时间了,但从来没有真正需要分支/合并。我们的实践只是提交到主干(从我们的开发服务器),并从主干更新(在我们的生产服务器上)。
不过最近,我将掌握分支和合并作为我的使命。分支很容易,但合并给我带来了一些麻烦;概念上的合并并不难掌握,但在实际执行中会丢失一些东西。
作为一个简单的分支/合并练习,我从主干开始,它只有一页文本,上面写着“这是在进行任何更改之前的主干”。我将该行更改为“这是来自项目 A 的代码”(不提交到主干),然后从我的工作副本创建一个分支,并选择将我的工作副本保留在主干上而不是切换到那个新分支。所以我用我的“项目A”代码创建了一个分支,但我的工作副本仍然在主干上,上面写着“这是任何更改之前的主干”。然后,我通过使用“这是来自项目 B 的代码”的行重复该过程,为“项目 B”创建了一个分支。
所以我最终在主干上得到了我的工作副本,上面写着“这是在进行任何更改之前的主干”。我为项目 A 和项目 B 有两个独立的分支,我想将这两个分支合并到主干中,一次一个。这个想法是模拟我已经完成了两个不同项目的工作的情况,但我正在等待它们都被批准部署到生产中,我不知道哪个会首先获得批准。或者,如果在我需要开始项目 C 的开发之前,其中任何一个都将获得批准。
现在我假装项目A已经被批准,所以我正在尝试将项目A分支与主干合并。我期待开始合并,收到一条消息说有冲突,然后能够编辑冲突,以便项目A行文本替换合并文件上的主干文本,然后能够标记该冲突已解决。(而且我意识到我可以在合并文件中包含两行,如果我愿意的话,一个在另一个之上)。所以我希望在我合并后,主干将有一行“这是来自项目 A 的代码”,而“这是在任何更改之前的主干”这一行将被删除。
但这并没有像我预期的那样工作。在树干上,我右键单击文件,选择“合并”,然后在对话框中选择“合并 2 棵不同的树”。我为“from”选择了主干 url,为“to”选择了项目 A 分支 url。然后我合并,但是没有提示冲突,并且主干或项目A分支上没有任何变化。我的工作副本保留在主干上,文件仍然只有 1 行文本,“这是在进行任何更改之前的主干”。
我正在查看https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-merge.html上的信息,但我不确定我在哪里弄错了。任何帮助表示赞赏。
解决方案
推荐阅读
- google-chrome - 使用 Axios 发出安全请求
- git - GitVersion.yml 文件理解
- c# - 保存击键然后与 SendKeys 一起使用
- r - 首先过滤那些具有连续值的
- html - 我看不到我在引导程序中添加的箭头图标
- python - ctypes dll变量声明
- sql - 如何将变量传递给存储过程以更新另一个数据库中的行?
- python - 如何用熊猫中的第一个非零值替换一行中的值?
- google-apps-script - 防止谷歌表格 IF(TODAY()) 函数在某个日期之后编辑
- oracle - ORA-12839 当我在我的 ATP 实例中使用并行 DML 时?