Mercurial 在合并期间删除添加的文件
我有一个存储库,其中有两个分支MAIN和FEATURE1。分支后不久,我需要进行bug修复,然后用版本号标记MAIN。这些是在分支之后对MAIN的唯一更改。我一直在FEATURE1中工作,并添加了几个文件Mercurial 在合并期间删除添加的文件,mercurial,tortoisehg,branching-and-merging,Mercurial,Tortoisehg,Branching And Merging,我有一个存储库,其中有两个分支MAIN和FEATURE1。分支后不久,我需要进行bug修复,然后用版本号标记MAIN。这些是在分支之后对MAIN的唯一更改。我一直在FEATURE1中工作,并添加了几个文件 1--2----4--5 \ 3--------6--7--8 3-创建分支 4-错误修复 5-添加标签 6-8-功能更改 注意错误修复和功能之间有一个冲突的更改 现在,我的功能已经完成,我想将功能1(8)合并到主功能(5)中。但是当我执行合并时,我的任何更改似乎都没有
1--2----4--5
\
3--------6--7--8
- 3-创建分支
- 4-错误修复
- 5-添加标签
- 6-8-功能更改
- 在源分支(功能1)中添加的所有文件都标记为删除
- 有很多
文件(我不知道这些是什么)。这些被标记为.orig
(未知操作)且未提交?
- 现有文件按预期标记为“M”(已修改),但不会迁移更改
基本上,我希望我在FEATURE1中所做的更改能够出现在主界面中。很明显,TortoiseHg工作正常。我的挫败感是误读用户界面的结果 每当您更新到OrtoiseHG中的不同版本时,它都会给您一个对话框,其中有一个复选框,允许您放弃当前分支中未提交的更改 放弃本地更改,无备份(-C/--clean) 当合并时,消息是相似的,但具有非常不同的含义 放弃合并目标(其他)版本的所有更改 第一种方法意味着要撤消未提交的更改,第二种方法意味着要合并分支而不带来任何更改
另一方面,我不明白为什么会有这样的功能。为什么要合并分支而不迁移更改?关上树枝似乎更容易。显然,乌龟的工作方式是正确的。我的挫败感是误读用户界面的结果 每当您更新到OrtoiseHG中的不同版本时,它都会给您一个对话框,其中有一个复选框,允许您放弃当前分支中未提交的更改 放弃本地更改,无备份(-C/--clean) 当合并时,消息是相似的,但具有非常不同的含义 放弃合并目标(其他)版本的所有更改 第一种方法意味着要撤消未提交的更改,第二种方法意味着要合并分支而不带来任何更改
另一方面,我不明白为什么会有这样的功能。为什么要合并分支而不迁移更改?关闭分支似乎更容易。只有当您有未解决的合并冲突时,.orig文件才起作用,当它发现冲突并试图解决冲突时,它们似乎会自动生成。不幸的是,当所有问题都得到解决时,它们似乎不会自动得到清理。只需将它们添加到您的忽略列表中。问题是其中一些正是我想要迁移的更改。为什么我的新文件会被标记为删除?有可能是因为某种原因,任何正在进行自动合并的工具都默认放弃传入的更改。你知道它在用什么工具吗?您可以尝试从命令行而不是工作台运行合并,甚至可以显式指定该工具,以便在运行之前验证任何设置。@Nanhydrin,谢谢。我选中了“放弃更改”框,认为它会放弃主分支上未提交的更改,但它会放弃FEATURE1分支上的更改。答案和复选标记是你的。谢谢你,但你更适合回答它,并准确地概述你为我们后面的任何人所做的事情,我只是在暗中捅了捅:)只有当你有未解决的合并冲突时,.orig文件才起作用,当它发现冲突并试图解决冲突时,它们似乎会自动生成。不幸的是,当所有问题都得到解决时,它们似乎不会自动得到清理。只需将它们添加到您的忽略列表中。问题是其中一些正是我想要迁移的更改。为什么我的新文件会被标记为删除?有可能是因为某种原因,任何正在进行自动合并的工具都默认放弃传入的更改。你知道它在用什么工具吗?您可以尝试从命令行而不是工作台运行合并,甚至可以显式指定该工具,以便在运行之前验证任何设置。@Nanhydrin,谢谢。我选中了“放弃更改”框,认为它会放弃主分支上未提交的更改,但它会放弃FEATURE1分支上的更改。答案和复选标记是你的。谢谢你,但你更适合回答它,并准确地概述你为我们后面的任何人做了什么,我只是在暗中捅了捅:)