首页 > PC > 编程工具
Mercurial(分布式版本控制系统)

Mercurial(分布式版本控制系统)

大小:30MB
类别:编程工具
官方
免费
安全
纠错

检测到是安卓设备,电脑版软件不适合移动端

  • 简介
  • 相关教程
  • 相关合集
  • 评论
Mercurial(分布式版本控制系统)
简介

Mercurial分布式版本控制系统是一种轻量级分布式版本控制系统,采用Python语言实现,便于学习和操作,有非常强大的扩展性。软件有着友好的界面,操作非常简单,设计的非常人性化。。

相关软件软件大小版本说明下载地址

编程猫63.5Mv1.6.5官方版查看

编程猫格式工厂45.6Mv2.7.2官方版查看

编程猫训练师104.7Mv2.0.2官方版查看

Mercurial(分布式版本控制系统)是一种轻量级分布式版本控制系统,采用 Python

语言实现,便于学习和操作,有非常强大的扩展性。软件有着友好的界面,操作非常简单,设计的非常人性化。

【基本简介】

mercurial是款轻量级的分布式版本控制系统,mercurial官方版(分布式版本控制系统)采用python语言开发,便于学习和操作,有非常强大的扩展性,其是基于

GNU General Public License (GPL)

授权的开源项目。该款软件有着友好的界面,操作非常简单,设计的非常人性化,与传统的集中式版本控制系统相比,它的优点是更加方便你的管理和使用。

相。

软件特色

更轻松的管理

传统的版本控制系统使用集中式的 repository,一些和

repository相关的管理就只能由管理员一个人进行。由于采用了分布式的模型,Mercurial 中就没有这样的困扰,每个用户管理自己的

repository,管理员只需协调同步这些repository。

更健壮的系统

分布式系统比集中式的单服务器系统更健壮,单服务器系统一旦服务器出现问题整个系统就不能运行了,分布式系统通常不会因为一两个节点而受到影响。

对网络的依赖性更低

由于同步可以放在任意时刻进行,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 Files\TortoiseHg\TortoisePlink.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 制定一个永久的版本号

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

软件信息

软件标签:
软件版本:V5.7.0官方版
更新时间:2025-02-19
软件大小:30MB
备案号:暂无
厂商:暂无
包名:暂无
应用权限:
查看
  • 程序写入外部存储

    -- 允许程序写入外部存储
  • 读取设备外部存储空间的文件

    -- 程序可以读取设备外部存储空间的文件
    -- 允许程序请求安装文件包
  • 获取额外的位置信息提供程序命令

    -- 允许程序访问额外的定位提供者指令
  • 访问SD卡文件系统

    -- 挂载、反挂载外部文件系统
  • 访问SD卡文件系统

    -- 挂载、反挂载外部文件系统
  • 查看WLAN连接

    -- 获取当前WiFi接入的状态以及WLAN热点的信息
  • 完全的网络访问权限

    -- 访问网络连接,可能产生GPRS流量
  • 连接WLAN网络和断开连接

    -- 改变WiFi状态
  • 修改系统设置

    -- 允许读写系统设置项
  • 查看网络连接

    -- 获取网络信息状态,如当前的网络连接是否有效
  • 收起
隐私说明:
查看
  • 我们严格遵守法律法规,遵循以下隐私保护原则,为您提供更加安全、可靠的服务:

  • 1、安全可靠:

    我们竭尽全力通过合理有效的信息安全技术及管理流程,防止您的信息泄露、损毁、丢失。
  • 2、自主选择:

    我们为您提供便利的信息管理选项,以便您做出合适的选择,管理您的个人信息
  • 3、保护通信秘密:

    我们严格遵照法律法规,保护您的通信秘密,为您提供安全的通信服务。
  • 4、合理必要:

    为了向您和其他用户提供更好的服务,我们仅收集必要的信息。
  • 5、清晰透明:

    我们努力使用简明易懂的表述,向您介绍隐私政策,以便您清晰地了解我们的信息处理方式。
  • 6、将隐私保护融入产品设计:

    我们在产品和服务研发、运营的各个环节,融入隐私保护的理念。
  • 本《隐私政策》主要向您说明:

    我们收集哪些信息 我们收集信息的用途 您所享有的权利
  • 希望您仔细阅读《隐私政策》

    为了让您有更好的体验、改善我们的服务或经您同意的其他用途,在符合相关法律法规的前提下,我们可能将通过某些服务所收集的信息用于我们的其他服务。例如,将您在使用我们某项服务时的信息,用于另一项服务中向您展示个性化的内容或广告、用于用户研究分析与统计等服务。
  • 若您使用服务,即表示您认同我们在本政策中所述内容。除另有约定外,本政策所用术语与《服务协议》中的术语具有相同的涵义。
  • 如您有问题,请联系我们。
  • 收起
类似软件
本类排行
近期大作

最新软件

相关合集 更多

相关教程

安全稳定控制系统可以是就地的,即利用就地判据并就地执行;也可以是分散装设于几个厂站并有信息交换的分布式(分散决策)或集中式(集中决策)控制系统。 飞行控制系统的功能()。 速度控制系统由()、()、()组成。 汽车电子控制悬架系统有多种形式,根据控制目的不同,可分为车高控制系统、刚度控制系统、阻尼控制系统、()等形式。 Maya 设置腿部骨骼控制系统

热搜标签

网友评论

添加表情
评论
举报

举报反馈

  • 色情
  • 版权
  • 反动
  • 暴力
  • 软件失效
  • 其他原因
提交反馈