Git和GitHub


GitHub是为开发者提供Git仓库的托管服务。这是一个让开发者与朋友、同事、同学及陌生人共享代码的完美场所。

GitHub与Git的区别

在Git中,开发者将源代码存入名叫“Git仓库”的资料库中并加以使用。而GitHub则是在网络上提供Git仓库的一项服务,GitHub上公开的软件源代码全都由Git进行管理。

Git

Git属于分散型版本管理系统,是为版本管理而设计的软件

集中型与分散型

版本管理系统分为Subversion这类集中型的与Git这类分散型的,下面就为各位简单说明一下二者的不同点。

集中型

以Subversion为代表的集中型,会如下图所示将仓库集中存放在服务器之中,所以只存在一个仓库。这就是为什么这种版本管理系统会被称作集中型。

集中型将所有数据集中存放在服务器当中,有便于管理的优点。但是一旦开发者所处的环境不能连接服务器,就无法获取最新的源代码,开发也就几乎无法进行。服务器宕机时也是同样的道理,而且万一服务器故障导致数据消失,恐怕开发者就再也见不到最新的源代码了。

分散型

下图是以Git为代表的分散型的示意图。如图中所示,GitHub将仓库Fork给了每一个用户。Fork就是将GitHub的某个特定仓库复制到自己的账户下。Fork出的仓库与原仓库是两个不同的仓库,开发者可以随意编辑。

如图所示,分散型拥有多个仓库,相对而言稍显复杂。不过,由于本地的开发环境中就有仓库,所以开发者不必连接远程仓库就可以进行开发。

Git的安装查看下面:

初始设置

下面我们对本地计算机里安装的Git进行设置。

设置姓名和邮箱地址

首先来设置使用Git时的姓名和邮箱地址。名字请用英文输入。

$ git config --global user.name "lijun"
$ git config --global user.email "lijun990429@163.com"

想更改这些信息时,可以直接编辑这个设置文件。这里设置的姓名和邮箱地址会用在Git的提交日志中。由于在GitHub上公开仓库时,这里的姓名和邮箱地址也会随着提交日志一同被公开,所以请不要使用不便公开的隐私信息。

在GitHub上公开代码后,前来参考的程序员可能来自世界任何地方,所以请不要使用汉字,尽量用英文进行描述。当然,如果您不想使用真名,完全可以使用网络上的昵称。

提高命令输出的可读性

顺便一提,将color.ui设置为auto可以让命令的输出拥有更高的可读性

$ git config --global color.ui auto