hg pull究竟做了什么?

时间:2010-02-27 23:53:50

标签: mercurial

我正在使用Mercurial。 hg pull在我使用它后,我的工作流程中究竟需要做什么以及需要采取哪些其他步骤?

主要克隆名为“farm”。我做了一个名为“myfarm”的克隆,我一直在本地开发。现在我想将我的克隆中的更改推送到googlecode托管的真实克隆。

所以在我自己的克隆“myfarm”的上下文中,我运行[hg incoming farm]。这似乎列出了自从我克隆它以来对“farm”所做的所有更改。列出了一堆像:

changeset:   545:edfe4dadf
parent:      549:ea8e55929bcF
parent:      592:dfdf05dbcfA3
user:        Some user
date:        Some date
summary:     Some comments

好的,然后我跑了[hg pull farm]。我在命令提示符处留下以下内容:

pulling from https://blah.googlecode.com/hg
searching for changes
adding changesets
adding manifests
adding file changes
added 6 changesets with 3 changes to 2 files (+1 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)

问题:

  • 我已经为我合并了一切,还是现在需要运行hg merge farm

  • 我如何知道是否存在冲突?如果是这样,我也不确定是否必须运行:

hg merge farm
hg merge

我的意思是,我想合并拉动的结果,但不确定上述哪两个是合适的。


我习惯使用svn,所以在这种情况下,我会做的就是:

svn update (notified of merge changes)
svn ci

由于

2 个答案:

答案 0 :(得分:6)

在您描述的情况下,您将运行hg mergepull只是一个同步步骤,它不会修改本地工作文件夹,也不会添加任何合并或其他任何实际工作。

Joel Spolsky最近在http://hginit.com发布了一个关于版本控制的优秀教程。如果你还没有完全掌握这些概念,我建议你仔细阅读。我建议按顺序阅读教程(而不是跳到“合并”页面),因为他使用的示例相互构建,如果您已阅读前面的部分,将更容易理解。

答案 1 :(得分:0)

Hg有一个svnbook too Chapter 3清楚地解释了您的问题。

hg merge确实是我要做的。