是否应该首先将命名分支合并到默认分支中,反之亦然?

Bes*_*ces 13 mercurial

我有一个中央回购和当地回购.repo具有"默认"分支和一个名为branch"mybranch"的分支.如果我在命名分支中工作并希望偶尔将我的更改合并为默认值,然后继续在命名分支中工作,我应该这样做:

  1. 从中央仓库最新到我当地的仓库
  2. 在mybranch中工作时,执行" hg merge default"以合并默认的INTO mybranch
  3. 在本地提交
  4. 然后执行" hg update default"和" hg merge mybranch"合并mybranch INTO默认值
  5. 在本地提交
  6. 推到中央回购OR

与上面相同,但用#4切换#2?(这样我首先合并mybranch INTO默认值?

Mar*_*ler 14

你写下你

我希望偶尔将我的更改合并为默认值,然后继续在命名分支中工作

default除非功能完成,否则通常不应将功能分支合并到分支中.也许这就是你的意思?

仅供参考,建议的工作流程是这样做的

  1. 创建功能分支
  2. 你在那里工作
  3. 定期(每隔几天)将更改合并default到功能分支中:

    1. hg pull 从其他开发者那里获得最新的变化
    2. hg merge 将最新更改集成到功能分支中
  4. 完成功能分支后,将其合并回default:

    1. hg pull
    2. hg update default 签出要合并的分支
    3. hg merge myfeature 做合并

最后的合并将非常小,因为定期合并default到特征分支确保从两个分支头只有很小的距离回到共同的祖先.


Joe*_*ant 7

你现在的方式(合并defaultmybranch第一个)是我的首选方式.

我倾向于使用分支来隔离特定特征或重构的更改,因此最好default定期将更改集引入命名分支.这样,命名分支的更改与分支保持default同步.

  • 你有3件事,第二件和第三件是正确的,但是该图没有显示在将特征合并到开发分支后将开发分支合并回功能分支.这里有经验法则,而不是散列出令人作呕的例子:您不希望分支(例如特征)和它所基于的分支变得太分散,因为稍后合并会更加困难.你不能将未完成的工作合并到'父'分支中,所以你走另一条路.然后整合完成的工作. (2认同)