如何解决这一 Mercurial 冲突?

2024-06-19

我对 Mercurial 和 Python 感到沮丧,因为它们让简单的事情变得困难。我有一个微不足道的冲突,由于 Mercurial 没有给出任何建议,我什至不知道如何解决这个微不足道的文件冲突:

冲突是微不足道的,但如果我不能解决这个问题,我也无法解决任何复杂的事情。我可以按照我想要的方式编辑文件并从任何地方再次提交吗?我应该跑吗hg merge?为什么 Mercurial 甚至不能让我选择要保留的版本?为什么如果不深入研究 1000 个写得很糟糕的手册页,一些微不足道的事情几乎不可能完成?


你需要看看KDiff3 文档 http://kdiff3.sourceforge.net/doc/index.html,特别是关于合并和输出窗口 http://kdiff3.sourceforge.net/doc/merging.html。要解决冲突,您需要决定是否live or january是该线路的正确选择。该决定由您做出,没有任何工具可以知道您的意思是其中之一。

In KDiff3, you press Ctrl + 2 to select live, press Ctrl + 3 to select january or right-click in the margin of the bottom window and select the line you want. You can also click in the bottom window and edit the line manually.

Mercurial 让你配置您的合并工具 https://www.mercurial-scm.org/wiki/MergeToolConfiguration任何你喜欢的方式。 TortoiseHg 附带一个默认配置,将 KDiff3 置于列表顶部,但如果您愿意,也可以使用其他工具。合并工具实际上只是一个接受四个文件名的程序:要比较的三个文件(基本文件、父文件 1、父文件 2)和一个输出文件名。

要解决命令行上的冲突,您需要启动合适的命令行三向合并工具。例如你可以与 vim 合并 https://www.mercurial-scm.org/wiki/MergingWithVim如果你喜欢。 (恐怕我对 vimdiff 一无所知,我自己使用 KDiff3。)

如果您不喜欢看到弹出合并工具,那么您可以设置

[ui]
merge = internal:merge

使 Mercurial 仅使用内部三向合并。当编辑不冲突时,它会很好地合并文件。当存在冲突时,文件被标记为“未解决”,并且冲突标记被存储在文件中。

然后,您需要手动编辑该文件以获得您想要的版本。您还可以重新合并并选择本地(您的)版本:

$ hg resolve --tool internal:local your-file

或其他版本:

$ hg resolve --tool internal:other your-file

您完全重新启动合并hg resolve your-file。该文件需要先标记为“已解决”,然后才能提交。这是用完成的hg resolve --mark your-file. See hg resolve --list获取当前合并的状态。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何解决这一 Mercurial 冲突? 的相关文章

  • Mercurial .hgignore 负向前瞻

    使用 Mercurial 我需要忽略除名为 keepers 的某个目录中的文件之外的所有文件 从表面上看 使用 Regex 和 Negative Lookahead 似乎很容易 然而 尽管我能够在 Regex Buddy 和其他工具中验证我
  • 使用输出在合并语句中设置变量

    我有一个合并语句应该始终更新或插入一条记录 我想记住变量中该语句的 ID 它看起来像这样 DECLARE int int MERGE dbo table AS A USING SELECT stringtomatch AS string A
  • 如何使用 Mercurial 忘记所有已删除的文件

    我是 Mercurial 的新手 在清理项目中的图像文件夹后 我显示了大量文件 在 汞状态 中 我可以为每个输入 hg忘记 但必须有一个更简单的方法 那么我怎样才能告诉 Mercurial 忘记文件夹中所有已删除的 状态 文件呢 如果您也可
  • 将 git 存储库拆分为压缩的公共和初始私有

    我想在 Github 上开源一个项目 有相当多的提交 超过 2k 我会将它们压缩成一个 初始提交 以便从一个干净的代码库开始并隐藏一些历史内容 问题是 是否有可能 保留一个包含所有初始提交的私有存储库 其中会有一些秘密密钥 travis c
  • GIT Rebase 协作的分支?

    阅读本文后 重新设置基点以收集从主分支到我的功能分支的更改是有意义的 Git 工作流程以及 rebase 与合并问题 https stackoverflow com questions 457927 git workflow and reb
  • 如何从“分离头状态”恢复提交?

    我检查了另一个有更新的分支 然后做了一些更改 切换回主 git 现在更改消失了 我可以把它们找回来吗 终端基本上是 git commit detached HEAD 7c09e17 Fixed some stuff files change
  • 如何欺骗 git-svn 来识别使用 svn 进行的合并?

    我们有一个 SVN 设置 具有稳定的主干和不稳定的开发分支 开发工作 大部分 在分支上完成 然后在部署之前合并到主干 我使用 git svn 作为我的 SVN 客户端 我从unstable到trunk的合并过程如下 git svn fetc
  • 联合超过 2 个 pandas 数据框

    我正在尝试将 sql 查询转换为 python sql语句如下 select from table 1 union select from table 2 union select from table 3 union select fro
  • 在外部 3 向 diff 工具中查看已提交的 Git 合并

    有什么方法可以查看已在 3 路差异中提交的合并吗 如果 3 周前进行了分支之间的大规模合并 有什么方法可以在一个版本中看到它的 3 路差异吗 外部差异工具喜欢 BeyondCompare3 吗 我在找只是合并提交中更改的文件 如果我能让它只
  • 如何解决 VS Code 中变基拉取的合并冲突?

    当我做一个git pull rebase 并且我的提交中存在合并冲突 我得到冲突差异视图 解决所有冲突并暂存文件 然后呢 我可以打开终端并运行git rebase continue但是 VS Code 中不应该有一个按钮来完成变基吗 只需使
  • Python 中字典的合并层次结构

    我有两本词典 而我想做的事情有点奇怪 基本上 我想合并它们 这很简单 但它们是字典的层次结构 我想以这样的方式合并它们 如果字典中的项目本身就是字典并且存在于两者中 我也想合并这些字典 如果它不是字典 我希望第二个字典中的值覆盖第一个字典中
  • PHP—array_merge_recursive() - 相同键没有数组

    php a php gt data1 tag gt div classes gt 1 2 3 php gt data2 tag gt section classes gt 2 3 4 5 6 php gt result array merg
  • 如何在解决冲突的过程中提交长 Git 合并

    我正在进行一次大型合并 其中包含 300 多个冲突文件 我想使用 mergetool 来解决这些问题 但我不可能一次性完成这一切 我如何提交合并 然后返回并继续相同的合并 通常 如果索引中存在冲突 git 似乎不允许您提交 我假设 不能一次
  • 将 Git 子存储库添加到 Mercurial

    我一直在尝试使用 bitbucket 设置一个项目 该项目的项目依赖项托管在 github 上 使用 Hg Git Mercurial 插件我几乎可以做到这一点 但到了推动的时候 事情就变得麻烦了 的文档Mercurial 子存 储库 ht
  • Mercurial:应用从稳定命名分支到开发分支的错误修复更改

    我的仓库中有这两个命名分支 稳定且开发 我的问题是如何将稳定版中更改的错误修复补丁复制到开发分支 我真的很想在框架内执行此操作 而不是使用任何扩展 EDIT 我为这个问题设置了赏金 因为我真的想要解决方案 有一个很好的解决方案 但中途被搁置
  • 是否可以获取具有偏移限制的总行数

    嘿盖兹这有可能获得带有偏移限制的总行数吗 Scenario SELECT FROM users limit 0 5 此查询包含 300 条记录 但问题是如果我使用偏移量调用此查询 结果将仅显示 5 条记录 并且我不想两次编写查询 一个用于分
  • 将 PDF 附加到另一个 PDF 文件的可用空间

    病毒帕特尔的教程 http viralpatel net blogs itext tutorial merge split pdf files using itext jar 关于如何合并和拆分 PDF 文件很有用 不幸的是 我需要的不仅仅
  • 如何“hg merge”而不影响工作目录?

    假设 我有一个名为 MyRepo 的存储库 我的工作目录中有未提交的更改 我从 Repo1 进行拉取 并在 MyRepo 中创建一个分支 我想将我的仓库中已有的内容与我刚刚拉取的内容进行合并 如上所述here http mercurial
  • Mercurial 与 SVN 中的私有分支机构的比较

    假设 SVN 中的分支 合并支持与 Mercurial 中的一样好 一方面考虑 SVN 系统 人们总是在自己的私有分支中工作 然后当他们处于合适的位置时 将他们的私有分支合并到 主 分支 或任何他们的 父 分支 他们可以定期合并其他方式以使
  • 有没有办法让 CVS 不会在 $Id: $ 等关键字替换上产生合并冲突

    我们目前使用 CVS 并在合并到主干之前在分支上开发新功能 有时我们会遇到由 CVS 关键字替换引起的合并冲突 因此 当查看冲突文件时 我们会看到类似这样的内容 lt lt lt lt lt lt lt collect logs conf

随机推荐