版本控制系统(version control system),是一种记录一个或若干文件内容变化,以便未来查阅特定版本修订状况的系统。版本控制系统不只能够应用于软件源代码的文本文件,并且能够对任何类型的文件进行版本控制。用的比较多的如svn,git等。git
分布式版本控制系统(Distributed Version Control System),软件开发过程当中,要解决多人协做的问题,须要有一个版本控制系统,用来合并和管理多人对同一个项目的开发和修改。版本控制有两种方式,一种是集中式版本控制系统,顾名思义,是把代码的管理和同步放在同一个服务器端来进行,如CVS,SVN,因为有完善的权限系统,以及统一的服务端,适合商业软件的开发;而分布式版本控制系统,则至关于把集中式版本控制系统的服务端和客户端都交给参与开发的客户端来保管,只有须要不一样开发者合并代码时,才须要一个中转站来完成。服务器
Git是一款免费的、开源的分布式版本控制系统,旨在快速高效地处理不管规模大小的任何软件工程。Git很容易学习,且小步快走,有着闪电般的性能。它超越了SCM工具,好比SVN、CVS、Perforce、ClearCase等,具体体如今方便的本地分支管理、方便的暂存区、并行工做流等。微信
每个 Git克隆 都是一个完整的文件库,含有所有历史记录和修订追踪能力,不依赖于网络链接或中心服务器。其最大特点就是“分支”及“合并”操做很是快速、简便。网络
Git 是由“Linux之父” Linus Torvalds 建立的。由于他发现找不到满意的方案来管理 Linux Kernel 联合开发的版本控制,就本身写了Git。分布式
Git是分布式SCM,而SVN是基于服务器的,也就是说每一个开发者本地都有一套git库,每一个人维护本身的版本(或者合并其余人的版本),而SVN是每一个人写完代码后都及时的checkin到服务器上,进行合并。svn
.git
目录中本系列内容将用示例图
的方式来说解git相关命令的执行过程
,并分享一些实战经验
,好比分支策略
,以及平常使用中遇到的问题。工具