推拉

Mercurial 可以轻松分享你的工作,并从其他开发人员那里获取捐款。这涉及三个关键步骤; 克隆拉动推动

克隆

要将远程存储库复制到本地磁盘,请克隆它。为此,只需传递你要克隆的远程 URL 即可。要克隆 Mercurial 源代码,只需运行:

$ hg clone https://selenic.com/hg

这将创建一个本地 hg 目录,其中包含你可以构建,编辑和提交的 Mercurial 存储库的副本(尽管你无法将提交发布回父存储库)。

一旦你检出了存储库,你就会希望在其他人发布更改时保持同步。你只需运行以下命令即可下拉新的更改:

$ hg pull

这会引入新的提交,但不会更新你的工作目录,因此你不会立即看到任何更改。要更新工作目录的内容,请运行:

$ hg up

这会将你的工作目录更新为存储库中的 tip(最新)版本。

你也可以运行:

$ hg pull -u

引入新更改并一步更新工作目录。

假设你具有对远程存储库的写访问权限,你可以使用以下方法将你在本地进行的任何提交发布到远程存储库:

$ hg push

只要自上次提取以来没有任何其他提交,就会上传你的更改。如果你的 push 被拒绝,因为它会创建额外的头,这意味着你需要引入这些新的更改并将它们与你自己的更改合并。

$ hg pull
$ hg merge  # this creates a new changeset merging your changes with the remote changes
$ hg commit -m "Merged in remote changes"
$ hg push

大多数情况下,这是你需要做的所有事情,因为 Mercurial 会自动处理合并你的更改,但有时你需要手动解决合并冲突(请参阅合并主题)。如果需要,你可以随时取消合并并返回到干净的工作目录:

$ hg up -c

但请记住,这是一种破坏性的操作; 工作目录中的任何更改都将被删除。