Mercurial - 来自上游提交的新分支

Mercurial - new branch from upstream commit

我在我的分支的 default 分支中有一系列提交等待审查并合并到上游。现在我需要填写一个单独的错误修复,我想 return 到我的 repo 和远程之间的原始分支点。我可以手动查看更改日志并 hg up 到修订版,但这很不方便。

是否有执行此操作的命令 - 在上游可用的最后一次提交时创建新分支并切换到它?

我需要这个命令,但是对于 Mercurial https://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot_tools/docs/html/git-new-branch.html

hg update 非常强大,我建议您查看 REVSET 帮助页面,其中详细介绍了可用于指定所需修订的运算符和谓词。

例如,hg update -r parents(first(outgoing(UPSTREAM))) 应该更新到尚未推送到 UPSTREAM 的最旧变更集的父级,这似乎是您所要求的。当最旧的未推送的变更集只有一个父级时(即它不是合并的结果),这将起作用。

如果它有两个父级,您可以使用 hg update -r p1(first(outgoing(UPSTREAM)))hg update -r p2(first(outgoing(UPSTREAM))),但您需要知道要在哪个父级开始分支。

如果你愿意,你也可以创建一个别名,如果你在你的 Mercurial 配置文件中添加以下内容:

[alias]
newbranch = hg update -r parents(first(outgoing(UPSTREAM)))

newbranch 部分是您希望命令成为的任何内容。