Mercurial电脑版是一款非常优秀的分布式版本控制系统(DCVS),Mercurial英文意为水银,所以常被缩写为Hg。采用Python语言实现,具有高效率、跨平台、可扩展、使用简便且开源等优点,是目前最为流行的版本控制工具之一。Mercurial电脑版是基于 GNU General Public License (GPL) 授权的开源项目。采用了分布式的模型,具有扩展性强,易学易用的优点。同时Mercurial电脑版有着友好的界面,操作非常简单,设计的非常人性化。但是。Mercurial 没有命名空间,一但和很多个版本库交流,很容易导致自己与别人的代码混成一团,就这个意义而言,Mercurial 根本不是个合格的分散式系统。有需要的用户可以下载体验!
Mercurial(轻量级分布式版本控制系统)特色
1、更轻松的管理
传统的版本控制系统使用集中式的 repository,一些和 repository相关的管理就只能由管理员一个人进行。由于采用了分布式的模型,Mercurial 中就没有这样的困扰,每个用户管理自己的 repository,管理员只需协调同步这些repository。
2、更健壮的系统
分布式系统比集中式的单服务器系统更健壮,单服务器系统一旦服务器出现问题整个系统就不能运行了,分布式系统通常不会因为一两个节点而受到影响。
3、对网络的依赖性更低
由于同步可以放在任意时刻进行,Mercurial 甚至可以离线进行管理,只需在有网络连接时同步。
常用命令
一、正常流程
1、查看项目状态
hg st
2、将未加入索引的文件加入索引
hg add 文件
或者 hg add . 将所有的加入索引中
3、提交修改
hg ci -m "提交说明"
4、初次推送代码
hg push --new-branch
5、非初次推送代码
hg push -b 分支号
二、分支管理
1、新建分支
hg branch 分支号
2、查看当前分支
hg branch
3、查看所有分支
hg branches
4、切换分支
hg update 新分支号
5、合并分支
hg merge 分支号
或者 hg merge,即是不加分支号,此时合并自己分支的多个head头,多用于多人操作同一分支后,进行合并操作
三、更新操作
1、更新当前项目状态
hg update
2、更新代码
hg pull
四、回退操作
1、代码未提交时(即没有进行 hg ci -m “提交" 操作),还原代码
hg revert 文件名
或者 hg revert -a 还原所有修改
2、代码提交了一次,还原提交,此时修改的代码还在,特别注意,此操作只能还原一次,多次是不行的
hg rollback
元素介绍
1、Revision
在使用 Mercurial 的系统中每个改动隔离在各自的 repository 里,既避免把不相关的代码混杂起来, 又便于一个接一个的测试每一部分工作,用户做的每个改动称为一个 revision。一般会有一个所有用户都可以访问得到的 repository 保存了项目的“主要”版本,工作repository 是用户自己做事情的地方,实现新的特性,修改漏洞,重构,实验等,当完成改变后,你可以 push 到共用的 repositor y中,即完成了一个 revision。
2、Changeset
一个或多个文件的改变集合在一起形成一个逻辑单元,称为 changeset。每一个 changeset由两部分内容描述,版本号和 changeset 标识,例如:changeset: 207:58e4906e69e3
冒号前面的数字代表版本号,它用来标识本地 changeset。这个版本号只有在用户的本地repository 中才有意义。冒号后面的那个很长的十六进制串是 changeset标识, 它是确定changeset的全局唯一标识符, 在所有包含这个 changese 的 repository 中都相同。多个用户之间讨论changeset,一般使用这个 changeset 标识,而不是上面说的版本号,因为完全有可能每个用户的 repository 中同样的 changeset 版本号不同。
3、Head
Head 表示 repository 中每个分支最新的 revision,通常在合并几个分支时会用到这个概念。
4、Tip
Tip 是最新的一个 changeset 的版本号的一个别名。在命令中任何使用版本号的地方都可以使用 tip 来代替最新的 changeset的版本号。Tip在各个repository中是不同的,同时一个repository 中只有一个 tip。
5、Log
Log 命令按时间顺序从近到远的记录着在 repository 中发生的每一次事件。可以通过指定-v诊断输出选项来获得更多更详细的历史信息,或者指定—debug选项来获得历史信息中的一切细节。
网友评论