分布式版本控制系统入门:学习和对比Bazaar、Mercurial和Git的使用方法

简介:您是否对分布式版本控制感兴趣,但是又被一大堆行话弄糊涂了?本文介绍三种主要的系统 (Git、Mercurial 和 Bazaar),讨论采用分布式工作流的一些优点,比较分布式版本控制的常用操作。

简介

在过去几年,对于分布式版本控制可以给开发过程提供的益处有许多争论。最近,分布式 工具已经很成熟了。尽管分布式工具的一些优点最初可能不明显,但是从长期来看,它们提供的灵活性是 非常有意义的。阅读完本文之后,您应该能够开始使用分布式版本控制系统,基本了解分布式模型能够提 供的优点。

围绕分布式版本控制的争论主要集中在不再需要的中心服务器。这是一个非常独特的 特性,对于一些开发人员组很重要,但是它的真正价值在于,它允许开发人员组实现他们选择的几乎任何 工作流。它能够完成很多事情,比如传统的集中式模型,或两个开发人员在咖啡馆通过无线连接协同工作 ,等等。

允许开发人员以各种新的方式工作,这是分布式版本控制真正令人兴奋的特点。实际上 ,在本文末尾会介绍如何实现这样的“咖啡馆”工作流。这对于作家、学校教师和 Linux 内核开发人员都有益处。

什么是分布式版本控制?

分布式版本控制 (DVCS) 是一种不需要中心服务器的管理文件版本的方法,但是它也可以使用中心服务器。更改可以被合并到 DVCS 的任何其他用户的系统中,因此可以实现非常灵活的工作流。

DVCS 的两个主要优点是:它 比集中的版本控制更灵活,因为它除了支持传统的(集中式)工作流,还支持其他各种工作流;它比集中 式服务器快得多,因为大多数操作在客户机本地进行,而不需要网络操作。

DVCS 和集中式版本控 制系统的主要差异

在 DVCS 和集中式版本控制系统之间有三个关键差异。第一个差异是,DVCS 通 过本地提交支持离线工作,这是由 DVCS 的操作方式决定的。这与集中式版本控制完全不同,集中式版本 控制要求通过到中心服务器的连接执行所有操作。这种灵活性让开发人员在飞机上也能够像在办公室中一 样轻松地工作,可以一次又一次地进行提交。

第二个差异是 DVCS 比集中式系统更灵活,因为 DVCS 支持许多不同类型的工作流,从传统的集中式工作流到纯粹的特殊工作流,再到特殊工作流和集中 式工作流的组合。这种灵活性允许通过电子邮件、对等网络和开发团队喜欢的任何方式进行开发。

第三个差异是 DVCS 比集中式版本控制系统快得多,因为大多数操作在客户机上进行,速度非常 快。另外,在需要进行推(push )操作(与另一个节点通信)时,速度也更快,因为两个客户机机器上 都有完整的元数据。速度差异相当显著,根据使用本地存储库还是网络存储库,DVCS 比 Subversion 快 大约 3-10 倍。

分布式版本控制工作流

因为 DVCS 非常灵活,可以实现各种各样的工作流 ,但是由于篇幅有限,本文只讨论两种工作流。首先讨论最常用的工作流之一 Partner 工作流。按照 Partner 工作流,一个开发人员启动一个项目,然后进行分支。然后,在不同开发人员工作的分支之间来 回合并更改。

第二种常用的工作流是通过本地提交使用集中式服务器。在这种工作流中,开发人 员的工作方式与使用集中式 subversion 存储库时非常相似,但是他们进行本地提交,然后把最终更改推 到集中式服务器。这种工作流有许多变体,包括与 Partner 工作流结合使用。重要的是,可以采用许多 种工作方式,通过使用 DVCS,可以灵活地选择最适合自己的工作方式。

时间: 2024-09-20 00:37:19

分布式版本控制系统入门:学习和对比Bazaar、Mercurial和Git的使用方法的相关文章

Bazaar VCS 2.4.1发布 分布式版本控制系统

Bazaar是一个简单的分布式http://www.aliyun.com/zixun/aggregation/9591.html">版本控制系统.它使用户能够分支远程软件库到本地的上下文,用户可以从他们的分支中提交本地分支,而无需特别许可.可用于Windows.GNU/Linux.UNIX 以及 Mac OS 系统. Bazaar VCS 2.4.1版本这是一个修正错误的版本,建议早期2.4版本的所有用户升级. 软件信息:http://bazaar.canonical.com/en/ 下载

手把手教你玩转Git分布式版本控制系统!

目录  Git诞生历史  Git环境准备 Git安装部署 Git常用命令 Git基本操作 Git管理分支结构 Git管理标签 GitLab安装部署 GitHub托管服务 Git客户端工具   1  Git诞生历史   我想大家还记得Linus torvalds在1991年时发布了Linux操作系统吧,从那以后Linux系统变不断发展壮大,因为Linux系统开源的特性,所以一直接受着来自全球Linux技术爱好者的贡献,志愿者们通过邮件向Linus发送着自己编写的源代码文件,然后由Linus本人通过

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

[简介] Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件. Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper,后者之前一直是 Linux 内核开发人员在全球使用的主要源代码工具.开放源码社区中的有些人觉得BitKeeper

Bazaar VCS v2.4b2测试版发布 分布式版本控制系统

Bazaar是一个分布式的http://www.aliyun.com/zixun/aggregation/9591.html">版本控制系统,它发布在 GPL 许可协议之下,并可用于 Windows.GNU/Linux.UNIX 以及 Mac OS 系统.Bazaar 由 Canonical 公司赞助,目前已服务于 Samba.Drupal 等知名的开源项目. 可帮助您随时跟踪项目的历史,并与他人合作很容易. .无论你是一个开发人员,合作型团队或分散在世界各地17802.html"

Bazaar VCS 2.3.4发布 分布式版本控制系统

Bazaar VCS 2.3.4这是一个修正错误的版本.建议2.3之前版本的所有用户进行升级. Bazaar 是一个分布式的http://www.aliyun.com/zixun/aggregation/9591.html">版本控制系统,它发布在 GPL 许可协议之下,并可用于 Windows.GNU/Linux.UNIX 以及 Mac OS 系统.Bazaar 由 Canonical 公司赞助,目前已服务于Samba.Drupal等知名的开源项目. Bazaar 当前已经包含许多有用的

[.net 面向对象程序设计进阶] (25) 团队开发利器(四)分布式版本控制系统Git——使用GitStack+TortoiseGit 图形界面搭建Git环境【转】

转自:http://www.cnblogs.com/yubinfeng/p/5182271.html 前面介绍了两款代码管理工具VSS和SVN,这两种管理工具在很长一段时间曾为我们的代码管理提供了便利,本篇介绍一款思维方式完全不同(也可以说不合常理)的版本控制系统--Git.可以说Git目前非常火,这与设计者剑指偏锋的设计思想有很大关系.Git采用发散的思维管理代码,最大的特点就是分布式,他可以让来自不同地区的开发者共同完成一个作品,让每个开发者都可以发挥个性,同时又可以由发起者(即项目管理者)

Git for Windows 2.13.1(2) 发布,分布式版本控制系统

Git for Windows 2.13.1(2) 已发布,这是一个针对 2.13.1 的补充版本: git commit 和 git status 不再随机抛出分段错误. 详情和下载地址可查看发行主页 Git for Windows 2.13.1 带来了许多新特性: 集成 Git v2.13.1. 集成 Git Credential Manager v1.10.0. 集成 OpenSSH 7.5p1. 集成 Git Flow v1.11.0. 集成 Git LFS v2.1.1. Git 现在

分布式版本库——Windows下Git的环境部署以及在GitHub上开源自己的项目

分布式版本库--Windows下Git的环境部署以及在GitHub上开源自己的项目 这几天着实忙的焦头烂额,可惜不是搞技术,今天周日,难得闲下来,写篇大家都想学习的Git教程,其实廖雪峰老师的网站已经非常详细了,但是.咳咳,太长了,我就稍微简单点的来概括,其实Git在MAC和Ubuntu上的体验是最好的,不过搞Android开发的我相信绝大多数人还是用windows吧,当然不排除个例 廖雪峰教程:http://www.liaoxuefeng.com/wiki/001373951630592960

Git入门学习和应用笔记

关于Git 1.BitMover公司收回Linux社区的BitKeeper免费使用权,Linus花了两周时间自己用C写了一个分布式版本控制系统,这就是Git. 2.什么是集中式版本控制系统 集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器. 中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆. 集中式和分布式版本控制系