推拉
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
但请记住,这是一种破坏性的操作; 工作目录中的任何更改都将被删除。