mercurial官方版是款轻量级的分布式版本控制系统,软件功能非常强大,界面简洁明晰、操作方便快捷,设计得很人性化。mercurial官方版(分布式版本控制系统)采用python语言开发,易于学习和使用,扩展性强,相比于传统的集中式版本控制系统来说,它更加方便你的管理和使用。
软件特色
更轻松的管理。传统的版本控制系统使用集中式的 repository,一些和 repository相关的管理就只能由管理员一个人进行。由于采用了分布式的模型,Mercurial 中就没有这样的困扰,每个用户管理自己的 repository,管理员只需协调同步这些repository。
更健壮的系统。mercurial官方版分布式系统比集中式的单服务器系统更健壮,单服务器系统一旦服务器出现问题整个系统就不能运行了,分布式系统通常不会因为一两个节点而受到影响。
对网络的依赖性更低。由于同步可以放在任意时刻进行,Mercurial 甚至可以离线进行管理,只需在有网络连接时同步。
以下使用大多基于命令行形式,版本是1.2.11
因为本地即是版本库的服务端也是版本库的客户端,所以首先得区分好版本库和工作目录两个概念,版本库存放了所有的版本,工作目录只是某个特定的版本,这个概念同svn是一致的,只是svn的版本库不在本地,而在集中的一台服务器上。
hg init 创建新仓库,版本库的文件放在一个.hg的文件夹下面
hg add 添加未版本化的文件
hg commit 提交修改,使用-m 填写comments,同svn是一样的
hg tip 查看当前版本库的最新版本,注意:不是当前工作目录的最新版本。tip是版本库最新版本的意思
hg parents查看当前工作目录的最新版本,如果这个版本有多个parent,会显示出来,如果没有则不显示。parent是指某个版本的前一个版本,如果某个版本通过两个版本merge而来,则会出现多个parents。mercurial还不支持超过两个的parents,也就是说只能将版本两个两个的合并,合并3个版本需要操作2次,合并4个版本需要操作3次,依次类推,如果碰到8个版本需要合并,则需要合并7次...
hg clone 克隆一个版本库到本地,当项目开始的时候,建议在一台电脑上init项目后,然后大家从他那clone出来,而不是各自init。
hg pull 从另一个版本库更新版本到本地
hg push 将本地版本库更新到其他版本库中,其他版本库需要开通sh服务,Windows下需要cygwin来启动sh,linux下用opensh实现。Windows客户端连接sh服务器时,需要在mercurial.ini的ui段配置,如下
[ui]
sh = "C:Program FilesTortoiseHgTortoisePlink.exe"
putty.exe 无法配合hg使用。
TortoisePlink.exe对于 sh://xx/ 之后的路径需要再加一个"/" 以示根路径,如下:
sh://192.168.107.129//home/arthur/hg/hello
hg incoming 将本地版本库同其他版本库进行比较,看看有哪些changeset在其他版本库中可以pull过来
hg outgoing 将本地版本库同其他版本库进行比较,看看有哪些changeset可以push到其他版本库中
hg update 更新工作目录,默认参数是tip,参数也可以是版本号、tag名字、branch名字。svn中的切换branch/tag通过这个命令来实现
hg tag 制定一个永久的版本号,tag存放在.hgtags文件中,这个文件也需要版本化
hg branch 显示当前branch,或者新建一个branch,默认的branch名字是default。
hg diff 对比版本间的差异
hg merge 合并版本到当前工作目录,hg pull之后会提示hg update,hg update之后如果提示hg merge,这时候的merge是在最新版本的基础上进行的merge,merge之后所作的修改需要通过commit来生成新的版本号。
合并branch : hg merge branchname ,先确认hg branch是什么再执行这个命令。
当一个branch的历史使命完成的时候,这时候需要决定是基于这个branch新开一个branch,还是在某个之前的版本开立branch. default是一个没有创立任何branch时的默认branch名字。
如果希望继续工作在default branch下,则需要先hg update default,然后再考虑需要合并哪些版本到default里面,之后就可以在default下一直工作了。
对于开了多个branch需要合并到default时,需要一个个branch来合并,诸如这样:
hg merge foo
hg merge bar
hg ci -m "merge foo and bar to default
"
在windows下,如果安装了beyond compare,会自动被调用出来。
显示三个窗口:本地文件、基文件((在分支分开前的最后一个版本))、其他文件(外来的文件)。这种合并模式同svn是一样的。
merge做完之后,需要hg ci提交修改,这时可以看到tip 信息中的parent有两个,表明是从两个版本中merge过来的。
beyond compare对于冲突有三个基本选项:Take left, take center, take right,分别对应以上三个文件的内容。还有其他几个选项也很容易明白。有冲突时还可能需要手工输入内容。
另外,如果我们没有安装图形合并程序, 我们就会开启文本编辑器来访问需要合并的文件。用手工来做这些事情是非常容易出错并且繁琐的。 最好是退出编辑器并用hg rollback指令来清除["Pull"]带来的改变,然后安装合并程序,再做一次。
hg headshead指的是没有儿子chaneset的changeset,也就是版本树的叶子节点,多个叶子节点可以进行合并为一个叶子, branchheads指那些给了tag但还没有儿子changeset的changeset。 用hg heads显示当前库所有的heads ,如果存在多个heads则说明有多条并行开发的路径,这时需要考虑是否需要合并。
hg serve -n "hellohg" -p 80 运行网络服务。之后可以通过hg pull 来下载这个版本库。这是一个临时性的便捷的提供pull版本库服务的方法
hg export 导出changeset,默认导出tip,需要用重定向来导出到文件中,之后这个文件可以通过邮件附件发出,这样可以实现无网络连接状态下的版本同步
hg import 导入changeset
1、测试hg的安装效果 cmd中输入:hg
如果不能显示,则修改我的电脑->属性->高级->环境变量->系统变量中的PATH为: (为了在命令行模式下运行Python命令,需要将python.exe所在的目录附加到PATH这个环境变量中。) PATH=PATH;<你的mercurial目录>;如:
2、获取帮助:hg help :如init命令的帮助信息
3、设置全局配置信息
Mercurial的配置文件类似于vim的vimrc,从[hg help config]可以查看配置文件的放置位置为:
(Plan 9) "$home/lib/hgrc"
(Unix) "$HOME/.hgrc"
(Windows) "%USERPROFILE%.hgrc"
(Windows) "%USERPROFILE%Mercurial.ini"
(Windows) "%HOME%.hgrc"
(Windows) "%HOME%Mercurial.ini"下面是我的配置文件:
4、指定了用户名,这方便了后面的操作.
初始化项目:hg init
5、建立一个readme文件,查看项目状态
?代表未知,M代表修改,A代表添加
6、添加文件:
mercurial提供了命令匹配的功能,如status可以用sta识别出来,这可以减少输入
7、提交修改:
log命令用来看修改记录,commit的-m参数提供了快速注释的功能,你也可以自己编辑,如:
如何在Ubuntu上安装Mercurial的最新版本?
Mercurial 是强大的分du布式版本控制系统。
在 Ubuntu 下快速的最新zhi版的安装Mercurial, 其实只要dao几条命令就可以搞定了
sudo add-apt-repository ppa:tortoisehg-ppa/releases
sudo add-apt-repository ppa:mercurial-ppa/releases
sudo apt-get update
系统其它 23.8 MB
中文特别版 v3.9.4
下载系统其它 11.52 MB
官方版
下载系统其它 32.62 MB
绿色版v 1.0
下载系统其它 9.06 MB
官方版 v8.21.5.9
下载系统其它 25.88 MB
绿色版v1.0
下载系统其它 8.08 MB
绿色版
下载系统其它 17.48 MB
官方版
下载系统其它 44.34 MB
最新版
下载系统其它 10.84 MB
官方最新版 v3.7.8
下载系统其它 41.5 MB
官方版
下载系统其它 2.25 MB
V15.5.102
下载系统其它 29.26 MB
官方版 v24.02.50
下载系统其它 81.05 MB
v10.0.2官方版
下载系统其它 300 KB
v1.0绿色版
下载系统其它 39.16 MB
官方版 v3.3
下载系统其它 58.59 MB
v2.5ß 官方版
下载系统其它 1.46 MB
最新版 v1.1
下载系统其它 7.13 MB
v1.44
下载系统其它 7.81 MB
v 3.0.1 最新注册版
下载系统其它 110.33 MB
正式版 v4.7
下载
网友评论