*什么是github
分布式版本控制(什么鬼=_=)
*什么是版本控制
(场景一)
就是你写一个c++/c语言的项目【目前我只学习了c++和c语言】(可能很大,需要很多人去写)但是你和你的小伙伴不可能一次就成功对吧,肯定在开发的过程,需要对当前的项目不断进行优化,第一个版本的bug可能第二个版本就修补了,然后又有新bug产生了,如果你产生了第三个版本,但是却出现了更严重的bug,你可能就想(WTF!!!),然后你第二个版本就显得很重要,你可以通过github将你每次的更新进行提交,让github帮你管理~~~~
(场景二)
辣鸡如我和我的小伙伴,可能还接触不到大项目,在现阶段,我们每天都在进行写小程序来锻炼自己的大神之路,辣么问题来了,有没有感觉写的很多,但是却在查找的时候很费劲,并且有时候手贱贱的,在存储空间不够的时候,我们会特别忍痛删了好久之前的程序,github可以帮你将每次写的程序进行管理和保留,留给你一个清晰的世界~~~~~~
(场景三)
作为程序猿的我们,github给我我们更丰富的精神世界,那就是开源项目。
*版本控制的历史变迁
(第一个阶段)
史前时代:diff 和patch
diff:diff命令(difference)来比较两个文本文件或者目录的差异
eg:diff -u hello world>diff.txt
解释:比较hello文件(原始文件)和world文件(目标文件)的差异,保存差异到diff文件中
patch:diff的反操作
eg:cp hello world
patch -R world<diff.txt
解释:通过diff文件可以找到删除了的hello文件
(第二个阶段)
CVS的时代----开启版本控制的爆发
(第三个阶段)
SVN的时代----集中式版本控制的集大成者
(第四个阶段)
git的时代---linus的伟大作品