什么是“版本控制”?我为何要关心它呢? 版本控制是一种记录一个或若干文件内容变化,以便未来查阅特定版本修订状况的系统。服务器
许多人习惯用复制整个项目目录的方式来保存不一样的版本,或许还会更名加上备份时间以示区别。 这么作惟一的好处就是简单,可是特别容易犯错。 有时候会混淆所在的工做目录,一不当心会写错文件或者覆盖意想外的文件。分布式
若是你在学校写过毕业论文,那你必定碰见过这样的问题spa
一个论文翻来覆去的改,写一点以为有问题,写一点还以为有问题,还不容易写好了,导师还挑刺,还让你改。。。。。无穷无尽。。3d
因而这么多使人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等软件。