Mecurial(hg)学习要点(团队管理)

Mecurial的基本介绍可以查看百度百科,以下知识是个人对Mecurial经验的简要说明。
Mecurial(hg)是一款分布式版本控制软件,可以称之为轻量级的git,比git和svn都要简单易学,但是在版本控制的理念上与svn有所区别。

分布式版本控制的核心理念是“分支”和“合并”,每个开发者在本地拥有很多开发分支,最常见的一个分支可以是一个功能的开发或者一个BUG的修改,每个分支有一个独立的名称,相互之间相互独立、互不影响。当分支代码开发完成之后,需要将该分支的代码“合并”到主分支,该主分支即是软件最终的分支。需要发布的功能都需要合并到该主分支,不发布的功能或修改不用合并。

Mecurial在Linux开发环境下一般使用命令行完成版本控制操作,在Windows环境下可以使用命令行或者图形界面,图形界面的话会隐藏所有的命令细节。

Mecurial在开发中常用的命令如下,这些命令是必须要牢牢掌握的(其他的命令可选学习,请自行查看百度、手册或者文档,这里不做介绍):

1. hg clone
获取一份版本库的代码到本地.
eg:
hg clone http://lixl:lixl123@192.168.XXX.XXX/hg/xxx 本地目录地址

2. hg st/status
查看当前版本库的文件状态.

3. hg add
添加新文件/目录到版本库.
eg:
hg add dir/
hg add index.php

4. hg rm/remove
删除版本库的文件/目录.
eg:
hg rm dir/
hg rm index.php

5. hg ci/commit
提交版本控制命令到本地版本库(注意这里提交的代码是到本地版本库,并不会到版本库服务器),这个时候hg st的状态会被清空。
eg:
hg ci -m “提交描述”

6. hg pull
从目标版本库中拉取所有内容,也可以拉取指定的分支内容。
eg:
hg pull 版本库名称
hg pull 版本库名称 -b 分支名称

7. hg merge
合并指定目标分支内容到当前的分支,如果有冲突会需要手动合并,常用的合并软件是Meld,需要提前安装好,在Linux下面会自动调用Meld进行合并审查。
eg:
hg merge 分支名称

8. hg up/update
更新当前分支内容,当hg pull完成,或者hg merge完成之后,需要调用hg up执行更新本地分支内容操作,否则更新的内容只会在内存缓存中,不会更新到本地文件(务必注意)。
另外该命令也可以用于切换当前分支到本地指定的分支。
eg:
hg up
hg up 分支名称

9. hg branch
创建一个新分支,新分支的代码是当前所在分支代码的一份拷贝。
另外该命令也可以用于查看当前所在分支。
eg:
hg branch 分支名称
hg branch

10. hg branches
查看当前本地版本库的所有分支.

11. hg push
将本地代码推送到目标版本库服务器,也可以只推送特定分支的代码到服务器。
eg:
hg push 版本库名称
hg push 版本库名称 -b 分支名称

Leave a Reply

Your email address will not be published.