Mercurial (hg)
附上两个站点:
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)的更多相关文章
- 分布式版本控制工具:git与Mercurial(zz)
分布式版本控制工具:git与Mercurial [收藏此页] [打印] 作者:cyfdecyf 2007-12-26 内容导航: 第1页 [IT168 技术文档] 说到版本控制工具,很 ...
- 袭击Mercurial SCM(HG)
这个叫水银的源代码管理工具尽管默默无闻,但还是得到了非常多团队的使用. 为了迎合某些团队的须要,我们也要用它来管理我们的代码. 今天的任务是先袭击学习.磨刀不误砍柴工. 对工具的掌握越快.工作的效率就 ...
- scapy学习笔记(1)
转载请注明:小五义 http://www.cnblogs.com/xiaowuyi scapy是python写的一个功能强大的交互式数据包处理程序,可用来发送.嗅探.解析和伪造网络数据包,常常被用到网 ...
- 用MSBuild和Jenkins搭建持续集成环境(2)
http://www.infoq.com/cn/articles/MSBuild-2 作者 Mustafa Saeed Haji Ali ,译者 李剑 发布于 2012年10月23日 | 注意: ...
- 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/ 开发环境的 ...
- Windows平台软件推荐:神器小工具(骨灰级)
底层工具 "If you know how to use Process Monitor competently, people of both sexes will immediately ...
- (转)python生态环境简介
Python生态环境简介 作者: Mir Nazim 原文: Python Ecosystem - An Introduction 译者: dccrazyboy 原译: Python生态环境简介 当 ...
- 【Git使用】SourceTree+Git简单使用(Windows)(转)
导读: 本人过去Git的可视化工具用的是TortoiseGit,虽然Android Studio也能进行版本管理,但是用下来,感觉SoureTree这款工具是最舒服的(免费的),下面就给大家介绍下我的 ...
- 代码管理(三)sourcetree 的使用
一.SourceTree简介 SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端,拥有可视化界面,容易上手操作.同时它也是Mercurial和Subv ...
随机推荐
- IP 分段 子网掩码
子网掩码分网段 例如 200台机器分成4个子网 [ ip 段 ] 200台机器,4个子网,那么就是每个子网50台机器,设定为192.168.10.0,C类的IP,大子网掩码应为255.255.255. ...
- Gym - 101572D Distinctive Character bfs 思维
题目传送门 题目大意: 给出n个01串,让你构造一个字符串,使这个字符串和这些字符串中相似程度最高 尽可能低.如果两个字符串对应位置相同,则相似程度加一. 思路: 每一个01串更改自己的一部分后,都可 ...
- uva11361 特殊数的数量(数位dp)
题目传送门 题目大意:给你一个n-m的区间,问你这个闭区间内的特殊数有几个,特殊数的要求是 数的本身 和 各位数字之和 mod k 等于0. 思路:刚接触数位dp,看了网上的题解,说用dp[i][j ...
- hdu1387 模拟队列
Team Queue Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Su ...
- mybatis CDATA引起的查询失败
<![CDATA[ ]]> 在被CDATA包围的所有字符串不会被mybatis解析, 直接写入sql了 CDATA应该只用在特殊字符前后,不能用在<if> <foreac ...
- github访问慢解决
参考:https://github.com/chenxuhua/issues-blog/issues/3 hosts文件: # GitHub Start 192.30.253.112 github.c ...
- Python中的None与 NULL(即空字符)的区别
None是Python的特殊类型,NoneType对象,它只有一个值None. 它不支持任何运算也没有任何内建方法. None和任何其他的数据类型比较永远返回False. None有自己的数据类型No ...
- php数组·的方法-数组与数据结构
/*数组与数据结构*/ //shuffle() 随机打乱数组 //array_push() 数组末尾添加元素 //array_pop() 数组末尾删除元素 //array_shift() 数组首位删除 ...
- Vue自定义指令实现按钮级权限控制功能
思路: 登录:当用户填写完账号和密码后向服务端验证是否正确,验证通过之后,服务端会返回一个token,拿到token之后(我会将这个token存贮到sessionStorage中,保证刷新页面后能记住 ...
- CheckStyle unable to read from stream
“我在对比了其他正确的ChechStyle文件之后,发现这个无法导入的文件的编码和正确文件的编码不一样,我的xml文档编码为ANSI,而导入正确的ChechStyle文件为UTF-8编码,在我将自己的 ...