大家可能都听说过github,但可能不知道git为何物?有人可能觉得git并没有太大的用处,直接在图形界面上操作就可以下载开源项目等,简单方便,根本没必要使用git clone命令。但是git的作用远比想象的要大。下面的学习是根据廖雪峰老师的教程总结的经验。

1、什么是git?
git就是一个分布式的版本控制系统。说简单也简单,就是帮助你管理你的项目,他可以自动记录你的项目每次做了什么改动,是由谁改动的,这就避免你自己手动管理。如果一两次改动我们自己管理也可以,但是工作中一个大的项目是要改动很多次的,而且是由很多人一起完成的,这样自己手动管理就会耗时耗力而且还会发生差错。
关于集中式,也就是你的项目写好会提交到中央服务器中,下次继续写时要从服务器中传过来,这对网速是一个考验,并且“一点瘫痪,全员放假”。而分布式每台主机就有自己的版本库,不用联网。
2、git诞生记
首先,分布式的概念大家都知道一点,所以以前也有集中式的版本控制软件比如svn,cvs。但是速度慢还需要联网.其他的分布式的商用的管理系统要收费,不符合开源理念。
我们知道linux之父写出linux后,因为他是开源的,所以全世界的爱好者都给他贡献代码,但是越来越大的代码库,自己手动管理太难,于是他又自己写了一个版本控制系统----Git.而且花了两周时间就写出来了。

3.git安装
这里我只介绍windows下git的安装。
首先要从官网下载,很简单,默认安装就行。
安装完成后,还需要最后一步设置,在命令行输入:
$ git config --global user.name “Your Name”
$ git config --global user.email “email@example.com”
因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。
想要查看是否设置成功,可以使用git config user.name就会出现你设定的名字了。

4、创建版本库
什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。

这里很多命令都需要linux命令基础,大家可以看我的linux基础篇专栏。
$ mkdir learngit
$ cd learngit
$ pwd
建立一个空目录,并且移动到这个目录下,然后
git init把这个目录变成git管理的仓库。
我们测试把文件提交到仓库中:
用到touch 文件名,新建一个文件,然后vi 文件名对这个文件进行编辑,我们需要知道vi编辑器三种模式的运用。(文件必须建在该目录下)
把文件提交到仓库只需要两步:
然后git add 文件名 告诉git把此文件添加到仓库中
git commit -m "你的修改提示信息”

为什么会有commit,因为commit可以一次提交多个文件。我们可以add多个,然后一次commit提交就可以。
至此,你就创建好了仓库,并提交好了一个文件。

下篇我们会讲如何回退,撤销,修改等操作,到这里你就会发现git优于github上图形界面的地方。