Mercurial
Mercurial (通常被称为 hg) 是一个用 Python 编写的分布式版本控制系统,在许多方面与 Git、Bazaar 和 Darcs 类似。
安装
Install mercurial 软件包。对于开发版本,安装 mercurial-hgAUR 软件包。
图形化前端
另见 Mercurial 图形用户界面。
- hgk — 基于 Tcl/Tk 的工具,用于以图形方式浏览仓库的历史记录。
- TortoiseHg — 一套图形工具,以及用于 Mercurial 分布式版本控制系统的 Nautilus 扩展。
配置
至少,你应该配置你的用户名,否则 mercurial 在尝试提交时很可能会报错。通过编辑 ~/.config/hg/hgrc
或 ~/.hgrc
并添加以下内容来完成此操作
~/.hgrc
[ui] username = John Smith <johnsmith@domain.tld>
要使用图形浏览器 hgk,也称为 hg view
,请将以下内容添加到 ~/.hgrc
(参见 论坛帖子)
~/.hgrc
[extensions] hgk=
你需要在运行 hg view
之前安装 tk,以避免出现相当隐晦的错误消息
/usr/bin/env: wish: No such file or directory
用法
所有 mercurial 命令都以 hg 前缀开头。要查看一些常用命令的列表,请运行
$ hg help
每个命令都有一个帮助页面,可以使用以下命令阅读
$ hg help subcommand
你可以使用预先存在的仓库(代码或文件的集合),或者创建自己的仓库来共享。
要使用预先存在的仓库,你必须将其克隆到你选择的目录
$ mkdir mercurial $ cd mercurial $ hg clone https://repo.mercurial-scm.org/hello
要创建你自己的仓库,请更改到你希望共享的目录并初始化一个 mercurial 项目
$ cd myfiles $ hg init myfiles
Dotfiles 仓库
如果你打算创建包含所有 ~/.
文件的仓库,你只需在你的主文件夹中初始化项目
$ hg init
然后只需添加你希望跟踪的特定文件
$ hg add |file1 file2 file3
然后你可以创建一个 ~/.hgignore
文件,以确保只有你希望包含在仓库中的文件被 mercurial 跟踪。
提示: 如果你在
.hgignore
文件的顶部包含:syntax: glob,你可以轻松地从你的仓库中排除文件组。技巧和窍门
进度条
如果你要处理大型仓库,你可能需要通过将其添加到你的 ~/.hgrc
文件中来启用 progress 扩展
~/.hgrc
[extensions] progress =
这将会在超过 3 秒的操作中显示进度条。如果你希望进度条更快显示,你可以将以下内容附加到你的配置文件
~/.hgrc
[progress] delay = 1.5
参见
- Mercurial: 权威指南
- hginit.com - Joel Spolsky 的教程
- Mercurial Kick-Start Aragost 的另一个教程。
- Mercurial Hosting - 来自 Mercurial 官方 wiki 的提供 Mercurial 托管服务的列表