git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
git 是 linus torvalds 为了帮助管理 linux 内核开发而开发的一个开放源码的版本控制软件。
git 与常用的版本控制工具 svn, cvs, subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
工作原理 / 流程:
- workspace:工作区
- index / stage:暂存区
- repository:仓库区(或本地仓库)
- remote:远程仓库
svn与git的最主要的区别
svn是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。
git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件a,其他人也在电脑上改了文件a,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。