Spring 指南(了解Git)

栏目: Java · 发布时间: 5年前

内容简介:Git是由

了解Git

Git 是一个免费开源的分布式版本控制系统(DVCS),它旨在快速、高效地处理任何规模和范围的项目。

Git是由 Linux 创建者 Linus Torvalds 发明的,用于支持庞大的、不同的 Linux 开发人员群体,但Git的受欢迎程度与 http://github.com 关系更紧密,Git已存在多年,但直到GitHub受欢迎程度激增之后,才在Linux社区之外获得广泛认可。GitHub允许你免费托管开源项目,它还提供简单的钩子和友好的用户体验,使Git更容易使用。

Mac Homebrew 等其他项目也对Git投入很深,Homebrew允许你在Mac上安装开源软件包,构建和管理这些公式的 工具 利用了Git,用于差异工具、制作补丁、管理资源,以及通过 拉取请求 提交新的和更新的包。

Git与其他DVCS

另外两个最受欢迎的DVCS选择是 MercurialBazaar ,Mercurial有命令行工具 hg (以汞的化学符号命名),而Bazaar的命令行工具是 bzr

Mercurial与许多开源项目相关联,Ubuntu Linux背后的Canonical公司使用Bazaar,开发人员通常需要熟悉Git、Mercurial和Bazaar。

开发人员使用的DVCS通常由开发人员参与的组织决定,而不是由给定的一组功能决定,Git、Mercurial和Bazaar都具有基本功能,例如分支、标签、合并以及不依赖于中央服务器,目前使用Git的开发人员可能会在一年后在Mercurial管理的另一个项目开始工作。

关键的挑战是了解每个工具的命令和语言的差异,例如,Mercurial中的 hg revert 意味着回滚当前更改,恢复为正式版本。 git revert 意味着添加一个反转先前编辑的新提交,Git有一个命令来支持像Mercurial这样的更改,但它有一个不同的名称。

Git与非分布式SCM

几个非分布式源代码管理系统(SCM)早于DVCS并仍在使用中:

  • Subversion
  • CVS(并发版本系统)

许多专有版本控制系统目前仍在大量使用,例如:

  • Rational ClearCase
  • Perforce
  • Visual SourceSafe

这些专有产品通常与其他软件开发工具捆绑在一起,因此在某些软件开发商店中根深蒂固。

与DVCS模型相反,这些系统中的关键因素是它们依赖中央服务器来保存跟踪版本和分支所涉及的所有关键数据,从本质上讲,开发人员在家中进行多次提交,与此中央服务器断开连接,然后将其添加到服务器,这不是内置功能,其中一些系统增加了支持此类功能的特性,但它并不是其本质的核心部分。

为了说明DVCS和非DVCS的SCM系统之间的区别,请考虑两个人如何分别独立工作,在使用DVCS时如何在某个遥远的地方会面,比如在游轮旅行中,并共享提交。共享提交将具有与中央服务器上相同的权限,使用非分布式SCM时,这两个人只能共享代码差异,而不能提交,为了使提交成为正式提交,必须在到家并访问中央服务器时将提交发布到中央服务器。

DVCS的固有优势

像Git这样的工具的内置优势在于每个拥有副本的人都拥有重建项目所需的一切,如果中央服务器崩溃且所有数据都丢失,则可以将任何远程副本指定为正式副本,因为它将具有足够的信息以继续,如果开发人员没有最新的提交,则会出现唯一的差异。

上一篇:了解REST


以上所述就是小编给大家介绍的《Spring 指南(了解Git)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

神经网络在应用科学和工程中的应用

神经网络在应用科学和工程中的应用

萨马拉辛荷 / 2010-1 / 88.00元

《神经网络在应用科学与工程中的应用:从基本原理到复杂的模式识别》为读者提供了神经网络方面简单但却系统的介绍。 《神经网络在应用科学和工程中的应用从基本原理到复杂的模式识别》以神经网络在科学数据分析中所扮演角色的介绍性讨论作为开始,给出了神经网络的基本概念。《神经网络在应用科学和工程中的应用从基本原理到复杂的模式识别》首先对用于实际数据分析的神经网络结构进行了综合概述,继而对线性网络进行了大量......一起来看看 《神经网络在应用科学和工程中的应用》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

在线进制转换器
在线进制转换器

各进制数互转换器