如果有两个分支,并且我一直在default
分支上工作,我认为推送到另一个克隆的foo
分支的一种方法是
cd ~/development/clone2
hg up default
hg pull ~/developmet/clone1
hg up foo
hg merge default
或
cd ~/development/clone1
hg up default
hg push ~/developmet/clone2
cd ~/development/clone2
hg up foo
hg merge default
这两种方法的工作原理完全一样吗? (一个是拉,一个是推)。
是否有更简单的方法可以将clone1的default
分支直接推送到clone2的foo
分支?感谢。
(我使用克隆1来查看我所做的所有更改(没有看到任何其他人的更改),并使用clone2合并并与其他团队成员集成)
答案 0 :(得分:0)
您始终可以使用以下方式推送和提取单个修订版及其所有祖先:
hg push -r revision ~/development/clone1
或
hg pull -r revision ~/development/clone2
答案 1 :(得分:0)
没有办法“推送到另一个分支”,因为你总是必须手动合并两个不同的分支
您描述的两种方法完全相同,但建议使用第一种方法(始终在克隆中执行合并工作,而不是集成存储库或其他人的克隆)
可能是故意遗漏,但在两个示例中,您必须提交合并的结果,并且在第一个示例中,您必须将合并变更集推回到clone2
所以在〜/ development / clone1中执行:
hg up default
hg pull -u ~/development/clone2
hg up foo
hg merge default
hg ci -m 'merged default into foo'
hg push ~/development/clone2
如果你这么做很多,可以考虑在〜/ development / clone1 / .hg / hgrc文件中添加这些行
[paths]
default = ~/development/clone2
这样,您可以在从集成存储库中提取和推送时省略存储库路径