TortoiseHG 与本地合并

问题描述 投票:0回答:1

我是 Mercurial 的新手,当我尝试与本地分支合并时,我无法理解解决冲突。

我有一个第三方已将更改推送到的存储库。

我提交了更改,然后由第 3 方撤回了更改 - 按照 TortoiseHG 的建议。

当我尝试与本地合并时,出现以下屏幕,要求我解决冲突:

enter image description here

我真的不确定在这里做什么。

我选择什么选项将推送的第 3 方文件合并到我的本地文件并保留我提交的更改?

这可能是一个简单得可笑的问题,但我担心我会做出错误的选择并覆盖错误的文件,我以前见过这种情况(在不同的项目上),事实证明这是一场小灾难。我希望将第 3 方文件提交到我的本地分支。

我在拉取第 3 方文件之前提交的文件仅进行了较小的更改,如果确实需要,可以覆盖它们。

我已阅读文档,但这只会让我感到困惑。

merge mercurial tortoisehg
1个回答
1
投票

一般来说:你不会丢失任何东西——唯一可能出错的是你的合并结果不是你想要的。因此,如果您不确定,首先要做的事情是:对本地存储库进行(本地)克隆 - 如果您有一个从未发生过合并的存储库,这是撤消不需要的或“错误”合并的最简单方法。

如果我理解正确,您希望(稍后)在您自己的本地头上继续并将上游提交合并到您自己的修改中。那么主要是关于“以哪种方式”进行合并的问题。因此,通常对于上述场景,您需要签出您的头,然后合并您从上游拉取的变更集的头。 合并对话框将提示您手动解决那些自动冲突解决不起作用的冲突。也许您想配置一个更好的合并工具,我个人偏好是 kdiff3,因为它会向您显示两种旧形式中的冲突部分,并允许您手动合并编辑它,同时在合并期间将两个引用很好地显示在屏幕上。请参阅

KDiff3

了解如何配置它。还有其他您可能更喜欢的合并工具,很可能您可以轻松配置您选择使用的工具(ExtdiffExtension)。 如果您只是想说“其他”更改是您想要保留的更改,并在发生冲突时放弃自己的更改,您可以这样做

hg merge --rev OTHER --tool other

一般来说,即使没有花哨的合并工具,我也只是进行正常的合并,然后在编辑器中访问有冲突的文件并搜索冲突标记(
>>>>)并用我的智慧来决定使用哪些代码我想在那些地方作为合并代码。

<<<<<, ======, >

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.