[SCM]源码管理 - mercurial
http://www.cnblogs.com/itech/archive/2011/08/03/2126116.html
一 分布式的源码管理工具Mercurial
mercurial 作为3大主流的分布式源码管理工具,已经被广泛的使用。 例如 googlecode.com 和 codeplex.com 都支持mercurial作为源码管理工具。
主页:http://mercurial.selenic.com/
更多的帮助:http://hgbook.red-bean.com/ 和 TortoiseHg.chm
windows下安装非常的方便,只需要双击msi(例如mercurial-1.9.1-x64.msi 或者 tortoisehg-2.1.2-hg-1.9.1-x64.msi)即可。 同时mercurial也支持Linux和MacOS。
命令行下载: http://mercurial.selenic.com/downloads/
shell集成的TortoiseHG的下载:http://mercurial.selenic.com/downloads/
二 命令行入门
#将mercurial001repository克隆到本地。
$hgclonehttps://code.google.com/p/mercurial001
#切换到mercurial目录
$cdmercurial001
#在当前目录mercurial001下增加新的文件t2.txt。
#标记t2.txt为add状态
$hgadd
#在commit和push前要配置自己的user信息,如果没有配置user,commit时默认使用本机的登录用户,此时配置文件中defaultserver的值默认为刚才clone的源
https://code.google.com/p/mercurial001,如果没有配置default的server,则对push命令需要指定server的值。
#将刚才的修改提交到本地的repository。
$hgcommit-m'addt2.txt'[-uAAA]
#将本地的repository跟新到远程的mercurial001repository。
$hgpush[http://selenic.com/repo/hello]
# 如果是push到googlecode,需要使用googlecode的用户名和密码。2)配置:.hg/hgrc配置文件
解释如下:
[paths]
[ui]
3)其他常用的功能
解释如下:
$hgpull
#将本地的repository的跟新同步到workingcopy。
$hgupdate
#将文件t4.txt标记为删除状态。
$hgremovet4.txt
#查看当前的workingcopy的修改状态
$hgstatus
#将修改应用到本地的repository
$hgcommit-m"removet4.txt"
#查看本地的repository的修改历史
$hglog
#将本地的repository跟新到远程的mercurial001repository。
$hgpush[http://selenic.com/repo/hello]
#如果是push到googlecode,需要使用googlecode的用户名和密码。
4)创建新的repository和project,然后提交修改
#创建新的repository。
$hginit(project-directory)
#进入repository目录。
$cd(project-directory)
#增加新的文件。
$(addsomefiles)
#将新加的文件标记为新加状态。
$hgadd
#将前面的改动应用到repository。
$hgcommit-m'Initialcommit'
5)使repository可以通过http被其他的用户访问
#为当前的repository启动http的访问方式。
$hgserve
#通过http来访问repository。
$ hg clone http://ip:8000/三 其他的比较好的分布式源码管理工具还有:git和bazaar,但是在windows上mecurial安装最方便。
完!感谢,Thanks!