如何使用来自不同分支的文件更新工作目录中的文件?

时间:2009-09-14 10:32:48

标签: mercurial

我在分支Feature工作,另一位开发人员已完成将其分支Feature2Default合并。在合并我的功能之前,我想简单地将其中一个文件从现在的默认分支拉到我的分支(因为它尚未完成)。

2 个答案:

答案 0 :(得分:4)

Mercurial适用于变更集,而不是文件,因此您无法使用传统的拉/推来执行此操作。

您可以使用:

hg cat -r Feature2 path/to/thefile > path/to/thefile

获取修改后的文件的副本。或者使用:

hg revert -r Feature2 path/to/thefile

做同样的事情。您也可以使用-I'导出'和'导入'来仅包含该文件,但创建新的单文件更改集没有任何好处。

稍后您合并到默认值时,相同的文件将完全合并。

答案 1 :(得分:1)

移植(Hg v2.0.2)允许您有选择地将更改从其他分支复制到当前分支。

hg graft [OPTION]... REVISION...

This command uses Mercurial's merge logic to copy individual changes from
other branches without merging branches in the history graph. This is
sometimes known as 'backporting' or 'cherry-picking'. By default, graft
will copy user, date, and description from the source changesets.