附上两个站点:

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. memcached学习笔记——存储命令源码分析下篇

    上一篇回顾:<memcached学习笔记——存储命令源码分析上篇>通过分析memcached的存储命令源码的过程,了解了memcached如何解析文本命令和mencached的内存管理机制 ...

  2. memcached学习笔记——存储命令源码分析上篇

    原创文章,转载请标明,谢谢. 上一篇分析过memcached的连接模型,了解memcached是如何高效处理客户端连接,这一篇分析memcached源码中的process_update_command ...

  3. MOOS学习笔记3——命令行

    MOOS学习笔记3--命令行 例程 /** * @code A simple example showing how to use a comms client问问怎么样 */ #include &q ...

  4. hg命令

    hg常用命令 hg命令跟git命令大同小异 hg version 查看hg版本 hg clone url 克隆代码仓库 hg branch newBranch 创建分支 hg update other ...

  5. 分布式版本控制工具Mercurial------Linux下hg命令的使用

    1.关于hg命令选项: 每一个每一个命令选项都有一个长的名称,如hg log 命令会使用 –rev选项; 大多数选项拥有一个短的名称,如—rev有一个-r的短名: 长名称以两条横线(–)作为起始,短名 ...

  6. 【山外笔记-SVN命令】svnlook命令详解

    本文打印版问文件下载地址 [山外笔记-SVN命令]svnlook命令详解-打印版.pdf 一.命令简介 svnlook是检验Subversion版本库不同方面的命令行工具,不会对版本库有任何修改,只是 ...

  7. 【山外笔记-SVN命令】svn命令详解

    本文打印版文件下载地址 [山外笔记-SVN命令]svn命令详解-打印版.pdf 一.命令简介 svn命令用于Subversion命令行客户端,执行svn相关的操作. 二.命令语法 1.svn语法: ( ...

  8. Zookeeper笔记之命令行操作

    $ZOOKEEPER_HOME/bin下的zkCli.sh进入命令行界面,使用help可查看支持的所有命令: 一.节点相关操作 create [-s] [-e] path data acl creat ...

  9. [Golang学习笔记] 02 命令源码文件

    源码文件的三种类型: 命令源文件:可以直接运行的程序,可以不编译而使用命令“go run”启动.执行. 库源码文件 测试源码文件 面试题:命令源码文件的用途是什么,怎样编写它? 典型回答: 命令源码文 ...

随机推荐

  1. android回收AnimationDrawable动画的每一帧的图片资源,而释放内存

    回收每一帧的图片,释放内存资源 private void tryRecycleAnimationDrawable(AnimationDrawable animationDrawables) { if ...

  2. WCF传输大数据的设置2

    本节主要内容:1.如何读取Binding中的binding元素.2.CustomBinding元素的基本配置.3.代码示例 一.Bingding是由binding元素构成的,可以根据实际需要,进行适当 ...

  3. tips of my ubuntu 16.04 LTS

    update_0 : sudo .../idea.sh 才会把idea安装上,不加sudo也会启动,但是不会在开始菜单中找到程序. ---------------------------------- ...

  4. uva 213 Message Decoding

    思路来自紫书...开始时的思路估计100行+,果断放弃!关键:1.正确提取出函数!   initmap():初始化字母与整数的映射.   returnint(x):向后读取x位,并转换为十进制数返回. ...

  5. 节点操作js jQuery

    append() - 在被选元素的结尾插入内容 prepend() - 在被选元素的开头插入内容 after() - 在被选元素之后插入内容 before() - 在被选元素之前插入内容 functi ...

  6. 关于Erlang中的behaviour

    唔,听说过这四个牛逼渣渣的behaviour:gen_server,gen_fsm,gen_event,supervisor.所以也就更加好奇behaviour的实现. 在解释它是怎么工作的之前,我们 ...

  7. Html标签第二课css

    css(Cascading Style Sheet)叠层样式表.用于控制网页样式并允许将样式信息与网页内容分离的一种标记性语言. 一:样式三种控制方法 1.行内样式: <div  style=& ...

  8. Ubuntu下freeradius-server的安装

    一.安装 (1)更新 #apt-get update (2)下载 链接:ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-2.2.9. ...

  9. CSS之立方体绘画步骤

    附上总的代码: <!DOCTYPE html><html><head> <title>立方体</title> <meta charse ...

  10. 使用cocoapods碰到的难题

    -------------报错---------- 1. git clone error: RPC failed; result=56, HTTP code = 200 解决办法: git confi ...