我来自CVS背景.
目前,我有2个并行开发的mercurial存储库.hello-world-bugfix和hello-world-feature(这个是从克隆hello-world-bugfix)
现在,我想将错误的固定代码合并hello-world-bugfix到一起hello-world-feature,以便在一天结束时,我将得到一个合并文件.
[BUG2 BUG2 BUG2]
START
[BUG1 BUG1 BUG1]
[FEATURE2 FEATURE2 FEATURE2]
Run Code Online (Sandbox Code Playgroud)
以下是所有事情之前的样子,拉动和合并.以下两个文件已经提交.


现在,我执行拉动hello-world-feature,从中拉出变化hello-world-bugfix.

然后,我执行更新,always merge打开选项.

这是我的合并文件???
[BUG2 BUG2 BUG2]
START
[BUG1 BUG1 BUG1]
Run Code Online (Sandbox Code Playgroud)
似乎我之前的承诺[FEATURE2 FEATURE2 FEATURE2]被覆盖了.
看来,我不应该进行更新步骤,这将不合并feature有bug,但覆盖feature逃脱bug.拉后应该做的下一个正确步骤是什么?(通过TortoiseHg),以便我可以获得错误修复代码,并保留功能代码吗?
这是最终的存储库视图 hello-world-feature

"始终合并"选项并不像您认为的那样.
它只合并未提交的更改.
更新时,已提交的文件将替换为新版本.
合并提交的更改,即.合并分支,需要进行显式合并.
因此,我将BUG2 BUG2 BUG2在日志中选择更改集,然后右键单击FEATURE2 FEATURE2 FEATURE2更改集并单击"合并",然后按照说明进行操作.
让我展开"Always merge"复选框的功能.
假设我的存储库中有两个更改集,我更新到第一个,然后我开始修改其中一个文件.
在某些时候我决定从另一个变更集开始更好,所以我想更新它,保持我的修改.
如果我只是使用未提交的更改进行更新,则在尝试更新时会出现此对话框:

但是,如果我选中"始终合并(如果可能)"复选框,则只会假设我单击该对话框中的"合并"按钮而不提示我.
因此,"Always merge"在提交的文件上根本没有任何功能,它不会为您引入合并,它只会尝试将您的本地更改与更新一起移动.
| 归档时间: |
|
| 查看次数: |
850 次 |
| 最近记录: |