我的Git手册(一)

概述

Git是一个免费且开源的发布版本控制系统,使用它可以快速有效地控制大小项目的一切。它的性能远远超过其他的源码管理工具(SCM tools)如Subversion,CVS,Perforce,ClearCase。拥有开销小的本地分支、便利的staging区、多工作流等等特性。

主要特性

1. 分支与合并

Git可以让你在本地创建多个相互独立的分支,分支的创建、合并和删除操作都非常快。当你要推送代码到远程仓库时,你可以选择只推送部分分支而不是全部。这意味着:

  • 无阻力上下文切换。你想要尝试一个想法所以创建了一个分支,并进行了几次提交;你切换回原来的分支,打补丁,再切换到你正在实验的这个分支,将它们合并。
  • 基于角色的编程线路。你可以使用一个分支只包含生产代码,另外一个分支用于测试,另外更多分支用于日常开发。
  • 基于特性的工作流。创建新分支用于新特性的开发,然后再合并到主分支。
  • 一次性实验。创建一个分支去实验,如果不可行就直接删掉它。

其他系统也有各自实现这些的方式,但是使用流程会比较复杂且容易出错。而Git非常简单。

2. 小而快

Git只有在执行初始clone操作时比较缓慢。因为Git会下载整个历史而不仅仅是最新版本。

3. 分布式

Git是分布式的。这意味着你将clone整个仓库,而不仅仅是checkout源码当前的tip。

  • 多备份。就算你使用的是一个中心式的工作流,每个用户都有一个main server的完整备份。每一份拷贝都可以在crash或corruption事件发生时,推送到远端替换main server。
  • 任何工作流。Git分布式与强大分支系统的特性使得无数的工作流得以轻松实现。
    • SVN风格工作流。中心式工作流。
    • 整合管理工作流。仅一个人负责提交代码到终极仓库。开发者们从该仓库clone代码,开发后推送到各自的独立仓库,然后让整合者拉取这些改动。这种方式常见于开源/GitHub仓库。
    • 独裁与陆军中尉工作流。dictator负责最终提交,lieutenants负责整合部分开发改动,然后通知dictator。

4. 数据保证

Git使用的数据模型确保了您的项目每一个bit的密码完整性。每一个文件和提交都被计算校验和,并且在checkout返回的时候可以通过该校验和取回。

5. Staging

不像其他系统,Git拥有staging area。这是一个可以格式化提交以及在完成提交前review的中间区域。这使得你不必提交所有改动的文件。

6. 免费且开源

Git是在GNU General Public License version 2.0开源协议下发布的。Git项目选择使用GPLv2保证你分享和修改自由软件的自由——保证该软件对所有用户都是免费的。

参考

About - Git

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值