gpt4 book ai didi

mercurial - 使用 Mercurial merge 一些修订但不 merge 其他修订

转载 作者:行者123 更新时间:2023-12-03 08:17:00 24 4
gpt4 key购买 nike

我最近开始使用 Mercurial 跟踪我的项目的变化。在我开始研究某个功能之前,我做了几次修改。现在,我想回到实现该功能之前的修订版,并尝试以一种截然不同的方式实现它。但是,我想保留在处理第一个实现时所做的一些更改,因为无论我选择哪种实现,它们都同样适用。

在我开始实现该功能之前更新回修订版的最佳方式是什么,但有选择地将默认分支上的更改 merge 到一个新的、单独的分支中?这是与 Mercurial merge/分支的正确方法吗?如果我这样做,我以后可以“放弃”这些分支之一以支持此功能的一个特定实现吗?

最佳答案

如果您有像 Beyond Compare 这样的外部差异程序,这将非常容易。

  1. 启用extdiff扩展并将其配置为使用您的 diff 程序(例如,我设置了我的系统以便 hg bcompare 将运行 Beyond Compare)
  2. 将您的存储库的工作目录更新到您想要开始新分支的修订版。
  3. 使用 Mercurial 对具有实验性更改的头部运行 diff 程序。
  4. Cherry 从实验代码中挑选您想要的更改,可以是整个文件,也可以是文件中较小的差异。
  5. 当您退出 diff 程序时,您的工作目录将包含您选择的更改。
  6. 开始一个新分支 (hg branch) 或设置一个书签 (hg bookmark) 来跟踪这组新的更改。参见 http://stevelosh.com/blog/2009/08/a-guide-to-branching-in-mercurial/了解差异的说明。
  7. 提交更改,然后开始!

当你决定你想要的实现时,你可以更新到你想要的分支的头部并使用hg commit --close-branch将其标记为已关闭,这仍然将其保留为存储库中的头部。如果你想把它作为一个头删除,更新到你确实想要的分支的头并使用hg merge --tool internal:local <rev-of-the-other-head> merge 它,但保留所有需要的更改。

关于mercurial - 使用 Mercurial merge 一些修订但不 merge 其他修订,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5738841/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com