问题一:git的前世今生
Git是安装在电脑上的一种管理文件的软件,它是Linux操作系统开发的一个软件。
在介绍Git的前世今生之前,先来普及一下什么是”版本控制系统“。这名词听上去非常专业,实际上也好理解。版本就是指一份文件经过多次修改后,构成了不同的版本,有版本一,版本二,版本三.....,有时面对这些经过不同人或同一个人在不同时间修改过的不同版本的文件,我们不能完全删除,需要暂时保存以备日后需要时对比查看,通常的做法是把每一版本都保存一份在电脑里,这些都是人工操作的。而”版本控制系统“就是电脑里安装好了的一个软件,不需要人工操作,系统自动会保存和记录该文件每一次改动的内容,用户可以非常方便地随时查看。
1991年,芬兰人linus创建了类似Windows的电脑操作系统Linux,这套系统的影响力现在也不亚于Windows了。Linux是免费的开源系统,它的代码系统是对外开放的,全世界的电脑爱好者都可以对它的代码库进行修改,然后把他们编写的代码文件发给Linus,Linus本人再手工合并代码,所以2002年之前Linux的代码库都是手工管理的。
2002年之前没有”版本控制系统“吗?答案是否定的。当时有CVS和SVN这些免费的版本控制系统,但它们都有很大的缺点,速度慢,必须联网才能使用。有一些收费的版本控制系统虽然好用,但是它们的代码系统不对外开放,与Linux的理念不合。
2002年由于代码库发展壮大,人工操作已经很难维续,于是Linus选择了一个商业的版本操作系统BitKeeper,幸运的是,Linux社区获得了免费使用这个系统的权利。
不过好景不长,2005年,由于Linux社区一些技术牛人的违规行为,BitKeeper所属的BitMover公司决定收回Linux社区的免费使用权。
与BitMover公司闹翻之后,Linus决定不再寄人篱下,他发奋图强,仅用两周时间就自己编写了一个分布式版本控制系统,Git就这样诞生了!一个月之后,Linux的代码库就由Git全面接管了。Git迅速成为最流行的最高效的分布式版本控制系统。
2008年,Github网站上线,吸引了无数开源项目在此落户,享受免费的Git管理。
问题二:集中式版本控制系统与分布式版本控制系统的区别
比如我们一个公司的同事一共四人:组长digman, 组员有慧娟、丰盛姐和夜影随风,每人各有一台办公电脑。现在我们四人需要一起合作写一篇文章——《关于git的前世今生》。
我们四人都按自己的理解各自写好了这篇文章,大家把自己的文章初稿都发到digman的电脑里,digman把大家写的内容综合整理和修改后,构成了一篇全面详细的介绍git来龙去脉的文章,即二稿——目前文章的最新版本,现在只存放在digman的电脑里。
在集中式版本控制系统里,如果各位组员想查看并修改这最新版本的文章,只能从组长digman的电脑里调出来后查看和修改。组长的电脑相当于中央服务器,存储了每个人写的初稿和最新版本二稿。所以3位组员的电脑必须与组长的的电脑联网才能协同工作。
在分布式版本控制系统里,每位组员的电脑里都会自动保存最新版本的文章,四台电脑没有主次之分,不需要联网,每位组员可以各自在自己的电脑里查看最新版本的文章并做相应的处理。如果慧娟又修改了最新版本二稿文章,其他三位想看哪些地方做了改动,慧娟只需把修改的部分通过系统发送给digman、丰盛姐和夜影随风,他们就马上能看到修改的内容。
问题七:给小白看的git 的教程大纲
一、git 简介
1. 什么叫版本控制系统
2.集中式版本控制系统与分布式版本控制系统
3. git 的诞生
二、安装git
三、创建版本库
1. 在工作区写文件
2. 添加文件至暂存区
3. 提交文件至分支
4. 文件修改的版本回退
5. 修改的管理和撤销
四、连接中央服务器github网站
1. 配置ssh
2. 将个人电脑(分支)与github连接
五、分支管理
1. 创建与合并分支
2. 多人协作
六、使用github