【问题标题】:Overwriting branch with default in Mercurial在 Mercurial 中使用默认值覆盖分支
【发布时间】:2023-03-25 06:50:01
【问题描述】:

假设我有一个名为feature_x 的功能分支正在处理,然后变更集樱桃挑选并移植到默认值,然后分支被关闭。不是最好的流程,但它是 Mercurial,所以没有办法改变历史。

现在我将再次处理功能 X,我觉得重用 feature_x 分支最不令人困惑。但是,如果我重新打开该分支并将default 合并到它,我就会遇到两个问题。第一次合并冲突,在该分支中修改的第二次更改,但从未合并到默认值中。所以我想要的是干净的石板,分支feature_x,但与当前default 中的内容完全相同。有没有比创建会影响名称的新分支更清洁的方法?

【问题讨论】:

    标签: mercurial branching-and-merging


    【解决方案1】:

    我认为你最好的选择是从 default 的当前提示开始一个新的分支,称为 feature_x2feature_y,并将过去留在过去。

    但这里有一些其他选项:

    1. 旧的 feature_x 分支是仅限于本地的仓库还是被推送?如果是前者,您可以hg strip 它并在当前default 处再次启动分支。

    2. 如果feature_x 名称非常非常重要,您可以使用internal merge tools 将默认分支合并到其中,并强制它完全反映默认分支

      hg merge -r default --tool internal:other
      
    3. 或者您可以在branch_x 的顶端提交default 的(文件系统)副本。然后你可以沿着你快乐的方式继续那个分支。

    我不知道 2. 或 3. 是否会导致奇怪的合并问题。我会测试看看合并回默认(或其他移植?)是否会在以后引起问题。

    【讨论】:

      猜你喜欢
      • 2012-06-09
      • 2011-12-20
      • 1970-01-01
      • 2011-12-21
      • 1970-01-01
      • 1970-01-01
      • 2015-06-30
      • 2017-07-08
      相关资源
      最近更新 更多