git入门

关于版本控制

什么是“版本控制”?我为何要关心它呢? 版本控制是一种记录一个或若干文件内容变化,以便未来查阅特定版本修订状况的系统。服务器

本地版本控制系统

许多人习惯用复制整个项目目录的方式来保存不一样的版本,或许还会更名加上备份时间以示区别。 这么作惟一的好处就是简单,可是特别容易犯错。 有时候会混淆所在的工做目录,一不当心会写错文件或者覆盖意想外的文件。分布式

若是你在学校写过毕业论文,那你必定碰见过这样的问题spa

一个论文翻来覆去的改,写一点以为有问题,写一点还以为有问题,还不容易写好了,导师还挑刺,还让你改。。。。。无穷无尽。。3d

 

  • 看着这一堆乱七八糟的文件,你本身也不记得,每个文件到底写了什么内容,还得一个个看,想删又不敢删。。。
  • 当你写完了毕业论文,你还得用U盘拷给导师,或者发个邮件给他,可是你回家可能还得改论文,那你发给导师的论文和你本地最新的论文又不一致了。。

因而这么多使人fuck指的操做,你就但愿有没有一个软件帮你记录文件变更的操做而且同事还能一块儿操做不须要本身传输文件,想知道变更了什么只须要去软件里看看,这是否是很nb?版本控制

 这个软件雏形?

 

版本 文件名 用户 说明 日期
1 美国皇家大学毕业论文v1.doc yuchao 论文初稿 7/12 10:38
2 美国皇家大学毕业论文v2.doc yuchao 论文修改版 7/12 18:09
3 美国皇家大学毕业论文v3.doc wupeiqi 武沛奇帮我修改论文 7/13 9:51
4 美国皇家大学毕业论文v4.doc mjj 马金聚帮我修改论文 7/14 15:17

 

GIT简介 xml

集中式和分布式版本控制

Linus一直痛恨的CVS及SVN都是集中式的版本控制系统,而Git是分布式版本控制系统,集中式和分布式版本控制系统有什么区别呢?blog

先说集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是本身的电脑,因此要先从中央服务器取得最新的版本,而后开始干活,干完活了,再把本身的活推送给中央服务器。中央服务器就比如是一个图书馆,你要改一本书,必须先从图书馆借出来,而后回到家本身改,改完了,再放回图书馆。开发

集中式版本控制,典型表明SVNit

集中式版本控制系统最大的毛病就是必须联网才能工做,若是在局域网内还好,带宽够大,速度够快,可若是在互联网上,遇到网速慢的话,可能提交一个10M的文件就须要5分钟,这还不得把人给憋死啊。io

并且若是集中式版本服务器宕机了,全部人都无法工做。

 

分布式版本控制

分布式版本控制,没有中央服务器的概念,每一个人都有本身的版本库,所以每一个人在工做时候,不须要联网,版本库本地便可管理。

既然每一个人都是一个完整的版本库,同事之间若是须要协做开发,就须要找一个用于“交换文件”的中央服务器,这个服务器不存在也不影响你们干活,只是用于交换文件内容。

GIT最强大的功能还有分支管理,远甩SVN等软件。

 

 

 

 
 

 

相关文章
相关标签/搜索