如何在Mercurial中将文件从一个分支签出到另一个分支?

如何在Mercurial中将文件从一个分支签出到另一个分支?,mercurial,Mercurial,如何在Mercurial中将单个文件从一个分支签出到另一个分支 基本上,我想把一个文件从一个分支机构实验性复制到另一个分支机构生产性您可以使用hg cat-r实验性文件名在任何版本显示任何文件。但是这种行为看起来像一个调试补丁,在这种情况下,我会考虑移植>代码> ING(在其他DVCS中挑选樱桃)。 hg revert-r实验文件名可以做到这一点,但未经测试。hg revert正如@shellholic所建议的那样,确实会从另一个分支的一个分支创建一个文件。但是,该文件将看起来像是历史上新添加的

如何在Mercurial中将单个文件从一个分支签出到另一个分支


基本上,我想把一个文件从一个分支机构
实验性
复制到另一个分支机构
生产性
您可以使用
hg cat-r实验性文件名
在任何版本显示任何文件。但是这种行为看起来像一个调试补丁,在这种情况下,我会考虑<代码>移植>代码> ING(在其他DVCS中挑选樱桃)。
hg revert-r实验文件名
可以做到这一点,但未经测试。

hg revert
正如@shellholic所建议的那样,确实会从另一个分支的一个分支创建一个文件。但是,该文件将看起来像是历史上新添加的。其实际历史记录不会显示在目标分支中

我发现嫁接是更好的选择

让我们假设您有2个分支,并且您已经在侧分支中创建并处理了文件f2.txt。您同时还在同一分支中处理文件f3.txt

  • 在源(端)分支中创建另一个变更集,该变更集仅包含您感兴趣的文件。如果您已经有这样的变更集,请使用它,无需创建新的变更集

  • 更新到目标分支

  • 移植源变更集。Mercurial会询问您是否要使用更改后的版本。回答“c”(已更改)

  • 结果如下所示:

    文件历史记录已正确保留:


    并且f3.txt不会合并到目标分支中。

    使用
    移植
    避免以后出现合并问题。