Hg的标准提交流程是什么?

mpe*_*pen 4 mercurial

是吗

  1. 更新
  2. 合并
  3. 承诺

?或者你可以先做提交吗?

我不喜欢拉动和合并的想法,如果没有我的本地代码版本备份,以防合并爆炸,但可能你必须先进行合并才能进行推送,因为你不能有冲突在中央回购.还没完全理解整个过程; 习惯了我很好的简单SVN.

dan*_*ann 9

我建议在将更改提交到工作目录之前始终提交,除非您100%确定您的更改以及要合并到工作目录中的更改不会发生冲突.

如果您执行更新拉(hg pull; hg update或更短hg -u pull)并且有任何未完成的未提交更改,则来自外部的任何更改都将与您的更改结合使用.当发生冲突时,可能很难确定合并结果的外观,因为您无法轻易区分您的更改和合并的更改.

当您首先提交时,更容易确定合并结果的外观,因为您始终可以查看合并的两个父项.所以,实际上它是:

  1. hg commit
  2. hg pull -u (如果不需要合并,请转到5)
  3. hg merge
  4. hg commit
  5. hg push

更新:正如Martin Geisler指出的那样,可以使用以下方法获取文件的"原始"更改版本:

hg resolve --unmark the-file
hg resolve --tool internal:local the-file
Run Code Online (Sandbox Code Playgroud)

或同时为所有文件:

hg resolve --unmark --all
hg resolve --tool internal:local -all
Run Code Online (Sandbox Code Playgroud)

不过,我发现"先提交"系统更好.最后,这是个人喜好......