附上两个站点:

http://z42.readthedocs.org/zh/latest/devtools/hg.html

http://bucunzai.net/hginit/

Mercurial(hg)是个版本管理工具,类似于git,但是它有自己的特点,比如可以一键生成web。


添加用户名

在.hg目录下有个hgrc文件,将下面代码丢到该文件的最底下即可,代码中的等号之后并无要求,写中文都是可以的。

[ui]
username = John Doe<john@example.com>

初始化一个仓库:hg init

查看当前工作目录跟仓库的区别:hg sum

提交未跟踪的文件:hg add 如果没有带文件名的话就提交全部了

变更

新文件即将需要被commit:hg add <new_file>

将某个已跟踪的文件从下一次commit开始移除:hg remove 文件可能暂时还在,但是commit之后就不在咯。

将当前目录切换到一个历史版本:hg update -r <版本号> 版本号写简写就行了,目录下的任何东西会被处理。

提交到远程仓库:hg commit 这样会提交所有文件,我们可以在commit后加文件名来只提交几个文件,也可以-m <评论>来写log信息,也可以com来代替commit。

列出当前版本库等待推送的变更列表:hg outgoing 列出即将被push的内容。

列出中央库中我所没有的所有变更:hg incoming 列出即将被pull下来的内容。

拉取远程库的最新变更:hg pull 所有最新的都被拉下来。

有两个head需要merge:hg merge 自动合并,如果没有冲突的话。

有两个以上head需要merge:hg merge -r <版本号> 需要指定tip与哪个版本号一块merge。

切换本地目录到tip上去:hg up 直接就切了,其实用的是update指令的简写。

清除掉那些残余的修改:hg update --clean 在误merge时,或者奇怪的问题出现可以试试。

将修改的文件恢复到最近一次提交后的状态:hg revert

撤销最后一次提交, 前提是你还没有push:hg rollback 注意看heads的变化啊。

推送当前的变更:hg push url是可以省略的,就推到hg paths那里。

查看

查看一个文件的任何历史版本:hg cat 还可以试用-r <版本号>来看这个变更。

查看一个文件在两个版本中的变动:hg diff -r : v1和v2是版本号。

查看当前是在哪个版本下工作的:hg parent 很可能不是tip。

显示远程版本库列表:hg paths 你推送的东西就是到这里了。

功能

启用一个本地web server供别人拉取仓库:hg serve

拉取仓库默认需要ssl,可以关了它:在hgrc文件中设置[web]push_ssl=False allow_push=*重启即可,重启也是hg serve。

克隆别人的仓库:hg clone <地址> 也就是别人试用hg serve跑起来之后的地址复制过来就可以了。

Mercurial (hg)的更多相关文章

  1. 分布式版本控制工具:git与Mercurial(zz)

    分布式版本控制工具:git与Mercurial [收藏此页] [打印]   作者:cyfdecyf  2007-12-26 内容导航: 第1页   [IT168 技术文档]    说到版本控制工具,很 ...

  2. 袭击Mercurial SCM(HG)

    这个叫水银的源代码管理工具尽管默默无闻,但还是得到了非常多团队的使用. 为了迎合某些团队的须要,我们也要用它来管理我们的代码. 今天的任务是先袭击学习.磨刀不误砍柴工. 对工具的掌握越快.工作的效率就 ...

  3. scapy学习笔记(1)

    转载请注明:小五义 http://www.cnblogs.com/xiaowuyi scapy是python写的一个功能强大的交互式数据包处理程序,可用来发送.嗅探.解析和伪造网络数据包,常常被用到网 ...

  4. 用MSBuild和Jenkins搭建持续集成环境(2)

    http://www.infoq.com/cn/articles/MSBuild-2   作者 Mustafa Saeed Haji Ali ,译者 李剑 发布于 2012年10月23日 | 注意:  ...

  5. Golang 环境配置建议(Atom)

    http://www.philo.top/2015/02/06/golang-%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE%E5%BB%BA%E8%AE%AE/ 开发环境的 ...

  6. Windows平台软件推荐:神器小工具(骨灰级)

    底层工具 "If you know how to use Process Monitor competently, people of both sexes will immediately ...

  7. (转)python生态环境简介

    Python生态环境简介 作者: Mir Nazim 原文: Python Ecosystem - An Introduction 译者: dccrazyboy  原译: Python生态环境简介 当 ...

  8. 【Git使用】SourceTree+Git简单使用(Windows)(转)

    导读: 本人过去Git的可视化工具用的是TortoiseGit,虽然Android Studio也能进行版本管理,但是用下来,感觉SoureTree这款工具是最舒服的(免费的),下面就给大家介绍下我的 ...

  9. 代码管理(三)sourcetree 的使用

    一.SourceTree简介   SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端,拥有可视化界面,容易上手操作.同时它也是Mercurial和Subv ...

随机推荐

  1. C语言中的常用函数_持续更新

    isspace函数: 背景:之前遇到scanf()输入时会把换行符留在输入队列的情况,如果下次要用到getchar(),但是会导致其先返回这个我们不需要的换行符:从而导致不希望出现的行为: 说明:检查 ...

  2. Android RecyView 滑动置指定位置

    1,直接回到顶部 recyview.getLinearLayoutManager().scrollToPositionWithOffset(0, 0); 2,慢慢的回到顶部 private void ...

  3. Java中的ThreadLocal使用

    ThreadLocal用于下面的场景: 1. 不允许多个线程同时访问的资源 2. 单个线程存活过程只使用一个实例 官方定义如下: This class provides thread-local va ...

  4. Linux进程控制理论及几种常见进程间通信机制

    1. Linux进程控制理论 ① 进程是一个具有一定独立功能的程序的一次运行活动(动态性.并发性.独立性.异步性). 进程的四要素: (1)有一段程序供其执行(不一定是一个进程所专有的),就像一场戏必 ...

  5. python3 zip()函数笔记

    a=[1,2,3]b=[4,5,6] for A ,B in zip(a,b):#用zip()函数整体打包 print(A,B)

  6. Socket通信客户端和服务端代码

    这两天研究了下Socket通信,简单实现的客户端和服务端代码 先上winfrom图片,客户端和服务端一样 服务端代码: using System; using System.Collections.G ...

  7. java从笨鸟到菜鸟

    链接别人的笔记 http://www.cnblogs.com/cugwx/p/3536840.html

  8. mc01_IntelliJ IDEA安装与Java项目创建以及Tomcat配置

    IntelliJ IDEA安装与激活 下载地址:http://www.jetbrains.com/idea/ 安装下一步下一步即可,关键是注册激活,该部分分两个步骤: 1. 配置windows hos ...

  9. 基础 —— ip地址与子网掩码的认识

    目录: 1.IP地址的作用 2.IP地址如何表示 3.IP地址的结构 4.子网掩码 5.IP地址的分类 6.私有IP地址 7.二进制与十进制的转换 8.练习题 IP地址的作用: 在一定范围内,唯一的标 ...

  10. linux终端没有GUI时python使用matplotlib如何画图

    import matplotlib as mpl mpl.use('Agg') #而且必须添加在import matplotlib.pyplot之前,否则无效 ======== ======== == ...