为您推荐:设计
软件介绍Mercurial,一般又称分布式版本控制系统。 Mercurial(分布式版本控制系统)是一种轻量级分布式版本控制系统,采用 Python 基本简介 mercurial是款轻量级的分布式版本控制系统,mercurial官方版(分布式版本控制系统)采用python语言开发,便于学习和操作,有非常强大的扩展性,其是基于 相。 软件特色 更轻松的管理 传统的版本控制系统使用集中式的 repository,一些和 更健壮的系统 分布式系统比集中式的单服务器系统更健壮,单服务器系统一旦服务器出现问题整个系统就不能运行了,分布式系统通常不会因为一两个节点而受到影响。 对网络的依赖性更低 由于同步可以放在任意时刻进行,Mercurial 甚至可以离线进行管理,只需在有网络连接时同步。 使用方法 以下使用大多基于命令行形式,版本是1.2.11 因为本地即是版本库的服务端也是版本库的客户端,所以首先得区分好版本库和工作目录两个概念,版本库存放了所有的版本,工作目录只是某个特定的版本,这个概念同svn是一致的,只是svn的版本库不在本地,而在集中的一台服务器上。 hg init 创建新仓库,版本库的文件放在一个.hg的文件夹下面 hg add 添加未版本化的文件 hg commit 提交修改,使用-m 填写comments,同svn是一样的 hg tip 查看当前版本库的最新版本,注意:不是当前工作目录的最新版本。tip是版本库最新版本的意思 hg hg clone 克隆一个版本库到本地,当项目开始的时候,建议在一台电脑上init项目后,然后大家从他那clone出来,而不是各自init。 hg pull 从另一个版本库更新版本到本地 hg push [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 hg tag 制定一个永久的版本号 hg branch 显示当前branch,或者新建一个branch,默认的branch名字是default。 hg diff 对比版本间的差异 hg merge 合并版本到当前工作目录,hg pull之后会提示hg update,hg update之后如果提示hg 合并branch : hg merge branchname ,先确认hg branch是什么再执行这个命令。 当一个branch的历史使命完成的时候,这时候需要决定是基于这个branch新开一个branch,还是在某个之前的版本开立branch. 如果希望继续工作在default branch下,则需要先hg update 对于开了多个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 另外,如果我们没有安装图形合并程序, 我们就会开启文本编辑器来访问需要合并的文件。用手工来做这些事情是非常容易出错并且繁琐的。 hg headshead指的是没有儿子chaneset的changeset,也就是版本树的叶子节点,多个叶子节点可以进行合并为一个叶子, hg serve -n "hellohg" -p 80 运行网络服务。之后可以通过hg pull hg export hg import 导入changeset |