mercurial

mercurial 官方最新版 v5.9.2

软件大小:21.93MB
软件类型:国产软件
软件语言:简体中文
软件授权:免费软件
软件分类: 系统其它
支持系统:

      mercurial官方版是款轻量级的分布式版本控制系统,软件功能非常强大,界面简洁明晰、操作方便快捷,设计得很人性化。mercurial官方版(分布式版本控制系统)采用python语言开发,易于学习和使用,扩展性强,相比于传统的集中式版本控制系统来说,它更加方便你的管理和使用。

截图
相关软件 软件说明 下载地址
NxShell
官方版
查看
GPU Shark
免费版
查看
NTLite
官方版
查看
EasyUEFI
中文版
查看

软件特色

      更轻松的管理。传统的版本控制系统使用集中式的 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 将本地版本库更新到其他版本库中,其他版本库需要开通ssh服务,Windows下需要cygwin来启动ssh,linux下用openssh实现。Windows客户端连接ssh服务器时,需要在mercurial.ini的ui段配置,如下

      [ui]

      ssh = "C:Program FilesTortoiseHgTortoisePlink.exe"

      putty.exe 无法配合hg使用。

      TortoisePlink.exe对于 ssh://xx/ 之后的路径需要再加一个"/" 以示根路径,如下:

      ssh://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

      sudo apt-get install mercurial python-nautilus tortoisehg

mercurial下载地址

Windows版下载
立即下载:
mercurial

mercurial