65.9K
CodeProject 正在变化。 阅读更多。
Home

混合版本控制系统的魅力

emptyStarIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

0/5 (0投票)

2016年1月28日

CPOL

6分钟阅读

viewsIcon

15423

一个真正混合系统的需求已经变得清晰,它能够提供 DVCS 和集中式功能的最佳组合。Perforce Helix 是第一个也是唯一一个能够涵盖所有方面,让所有利益相关者都能受益的产品。

下载 Gartner 报告

引言

在不久的过去,版本控制系统几乎都是高度集中化的。这并非偶然,而是有其充分的理由。一旦有两个人同时修改同一个文件,你就必须管理变更的工作流程。集中式版本控制系统提供了一个可靠的机制,同时能够在一个地方实现策略执行、安全维护和可扩展性、可靠性等功能。

我还记得,在那个时代,创建一个新的分支是一件令人“恐惧”的事情,这项操作非常晦涩和危险,需要整个版本控制系统的“牧师”来协助。但随后 DVCS 革命爆发,Git 崭露头角,这一切都改变了。开发者突然可以在本地、原地随意地提交和分支,而无需 VCS 专家的帮助。[1]

简而言之,DVCS 是解决每个开发者每天面临的问题的关键部分:我该如何管理所有这些不同的任务并保持工作分离?!难怪 Git 和其他 DVCS 系统被如此广泛、如此迅速地采用,因为它们的功能为开发者提供了比以往任何时候都更快、更简单、更好的工具。

混合挑战

但是问题来了:大多数 DVCS 系统既不包含集中式系统的传统优势,也未能消除对它们的需求。因此,不难理解为什么如此多的组织,特别是那些大型企业,现在实际上正在走回头路。也就是说,他们现在正在努力将各种不同的工具和工作流程整合在一起,一方面通过 DVCS 系统让开发者满意,另一方面又不放弃集中式系统的所有好处。

令人不快的残酷真相是:本地桌面革命往往会把 DVCS 的“洗澡水”一起倒掉,而其中包含了集中式系统的“婴儿”。为此,公司付出了高昂的代价。当然,开发者比以往任何时候都更快乐,但这却是以让 DevOps 和其他团队痛苦为代价的。DVCS 本身并不是所有人的解决方案;它只是将痛苦转移给了其他团队。我们需要的是一个能够满足所有利益相关者需求的系统。正如 Gartner 在一份最新报告中所述:

面向企业的 Git 管理,它提供了 DVCS 的重要方面——良好的合并、离线工作能力以及良好的协作——同时还具备 CVCS 的安全性和中央存储库,这将解决有关使用 DVCS 模型的所有剩余担忧。[2]

开发者需要 DVCS 的功能才能保持快乐和高效,而其他团队则需要集中式功能来满足他们的需求。尤其是在企业环境中,这一点是不可避免的。只有“混合方法”,即提供两种最佳组合(即本地功能和集中式功能)的系统,才能让每个人都满意。

隆重推出 Perforce Helix

这正是 Perforce Helix 所处的位置,它提供经过时间检验的集中式功能和工作流程,以及最强大、最先进的 DVCS 功能。Helix 通过其自己的本地模式为开发者提供支持,全面支持 Git 及其生态系统工具,同时结合了业界最强大的服务器技术。

让我们来看看这些方面。Helix 本地模式允许开发者使用一个命令初始化新的本地存储库或从远程服务器克隆。它支持本地、轻量级、原地分支和合并,以便处理多个任务和分离不同工作单元。它还提供了强大且安全的本地历史重写功能:纠正错误、合并多个提交,或者仅仅是修正提交描述中的低级拼写错误。

与其他 DVCS 系统不同的是,Helix 对于大量文件、大型二进制文件等都不会出现问题。Helix 允许你存储任意数量的内容,将所有内容保存在一个巨大的单一存储库中,作为单一事实来源。开发者可以使用其先进的窄克隆功能只提取他们需要的部分,而 DevOps 和其他团队则可以在一个地方访问所有内容——这也是单一事实来源对成功如此至关重要的原因。

纯粹的 Git

当然,业界最受欢迎的 DVCS 显然是 Git。事实上,我们的一些开发者也使用它,所以 Helix 全面支持 Git 及其工具生态系统也就不足为奇了。GitSwarm 是 Helix 系列的最新成员。它提供了 GitLab 的所有功能,但与 Helix 版本引擎集成,可以实现其他 Git 托管系统无法做到的事情。

GitSwarm 提供了一对一的项目到存储库的典型映射,并具有安全选项、用于轻量级 ALM 的问题和里程碑跟踪,当然还有对 Git 的全面支持——甚至还有一个内置的 wiki,用于记录笔记、想法、文档等。但是,与 Helix 本地模式一样,GitSwarm 可以利用窄克隆和其他高级 Helix 功能,使其成为第一个(也是唯一一个)能够任意从一个巨大的、集中管理的单一存储库中分割出 Git 大小片段的 Git 托管解决方案。

使用 Git 的开发者可以按照自己的意愿创建项目,进行克隆、分叉、推送工作,并创建合并请求,享受他们对 GitHub、GitLab 等平台的依赖。唯一不同的是,他们的工作将自动、双向地与 Helix 版本引擎同步。

最大化协作

这使得我们能够以前所未有的方式向设计师、艺术家、动画师、音乐家、作家以及现代产品开发中的其他各类利益相关者敞开大门。他们可以使用最适合其技术技能和首选工作流程的工具,访问同一个事实来源中的相同文件。每个人都在处理相同的文件、相同的内容,但以自己的速度、以自己的方式。

毕竟,DVCS 工作流程并非适合所有人,Git 的界面也不适合所有人,无论是命令行、TortoiseGit 还是其他 GUI 客户端。有了 Helix,利益相关者不必被迫只使用一种工作方式或一种工具。相反,开发者可以根据自己的喜好使用 Helix 本地模式或 Git,而其他贡献者则可以使用简单的可视化客户端,或者通过广泛的集成和插件直接在他们的应用程序内工作。

每个利益相关者都可以根据任务最适合的工具和工作流程,按照自己的意愿工作。Helix 以前所未有的方式赋能跨学科协作,以前所未有的方式统一贡献者。

结论

一个真正混合系统的需求已经变得清晰,它能够提供 DVCS 和集中式功能的最佳组合。而且,由于开发者喜欢 Git,因此寻找方法来控制 Git 的蔓延并解决它带来的其他复杂问题,是完整解决方案(特别是对于企业而言)的关键组成部分。

Perforce Helix 是第一个也是唯一一个能够涵盖所有方面,让所有利益相关者都能受益的产品。其集中式功能早已树立了行业标杆,其 DVCS 本地模式也不例外。随着 GitSwarm 的新加入,Helix 还提供了最强大的 Git 托管选项,提供其他 DVCS 系统所没有的功能。

Perforce Helix 对小型团队和评估用途是免费的,所以为什么不从我们的网站下载并亲自看看呢?你唯一要失去的是你和你的贡献者长期以来一直忍受的所有限制和问题。

脚注

  1. 直到他们被一发(rebase)击倒,结束他们的冒险生涯。
  2. Gartner,“软件变更和配置管理软件市场指南”,2015 年 8 月 26 日
© . All rights reserved.