[Git使用手册]-1-创建本地仓库

引言

Git是一个分布式版本管理系统,最初是为了更好地管理Linux内核由Linus开发而创立的;本文将给出一个实例,创建本地项目repository。

文章目录

0×1.Git简介

在Linux诞生后不久,世界各地的Linux开发者们想要贡献自己的代码,必须先将代码发送给Linus,再由Linus审核并手工合并到Linux内核中,Linus很快发现,这样做的效率非常的低,不同的人有不同的编码习惯,这带来一个很严重的问题,两段代码只有几个字符的微小区别,都可能耗费大量的时间去比对和修改整合,Linus当时做梦都在想,有没有一种自动匹配整合的版本控制系统;

虽然在当时已经出现了SVN和CVS这些集中化的版本控制系统,但Linus一直不看好他们,他觉得类似SVN这种版本控制系统集中化的提交方式,不仅仅速度慢,当总服务器down掉后,所有人都无法工作了,所以他决定用C语言写一个分布式的版本控制系统,这个系统最初的目的只是为了更好地管理Linux内核,方便世界各地的程序员们提交和共享他们的代码,在短短的数周时间里Linus就完成了这个系统的编写工作,这就是后来的git,而git是不需要服务器的,任何安装了git的PC,都可以实现点到点的代码共享,此时Linus微微一笑,深藏功与名;

再后来,程序员们发现,单纯的PC到PC的git虽然很好用,但使用git的程序员遍布全球,你在git的时候地球另一面的那个git可能正在睡眠中,PC不开机就无法git呀,为了满足程序员们随时随地都能git的欲望,Linus再度出山,Github就此诞生了,Github使得程序员们可以将本地的git仓库中的最新内容push到云服务器中,此时地球另一面醒来的git只要从云服务器上pull下来最新的代码即可;

如今,git已经不仅仅用于管理Linux内核,成千上亿不同种内、不同语言的项目已经移植到了Github上,下面从git最初的功能开始讲起。

0×2.如何创建本地项目仓库

1)首先,安装git,Ubuntu系统安装方法:

					www@qingsword.com:~$ sudo apt-get install git
					

Windows系统请下载[Git for windows]并自行安装,本系列文章使用ubuntu系统演示所有git命令。

2)安装完成后,首先要做的就是初始化本地git信息,本地git信息就像是个人的"git身份证",是为了让对方识别,是谁提交的代码:

					#初始化本地用户名
					www@qingsword.com:~$ git config --global user.name QingSword
					
					#邮箱信息,方便对方给你发邮件
					www@qingsword.com:~$ git config --global user.email admin@qingsword.com

					#使用本地代码颜色(可选参数)
					www@qingsword.com:~$ git config --global color.ui true

					#列出git本地配置
					www@qingsword.com:~$ git config -l
					user.name=QingSword
					user.email=admin@qingsword.com
					color.ui=true
					core.editor=vim

					#配置文件位置
					www@qingsword.com:~$ more .gitconfig 
					[user]
					        name = QingSword
					        email = admin@qingsword.com
					[color]
					        ui = true
					[core]
					        editor = vim
					

本地配置文件保存位置:

如果使用了"--system"参数,例如"git config --system",配置保存在"/etc/gitconfig"文件中;
如果使用了"--global"参数(上文使用了这种方式),配置文件保存在当前用户家目录"~/.gitconfig";
除此之外,每个单独的本地git仓库中,保存了独立的config(仓库名称/.git/config);

三种配置文件优先级从小到大(仓库配置>global配置>system配置),git优先选用本地仓库中的配置,如果不存在,再使用global配置,以此类推。

3)创建本地git仓库(repository)

					#首先新建一个目录,用于存放这个项目的所有文件,假设我要创建一个博客项目,命名为myblog
					qing@qingsword:~$ mkdir myblog

					#进入myblog目录,使用"git init"命令,将这个目录初始化为"git仓库"
					qing@qingsword:~$ cd myblog
					qing@qingsword:~/myblog$ git init
					初始化空的 Git 版本库于 /home/qing/myblog/.git/

					#执行成功后,会在当前目录创建一个隐藏文件夹".git",进入这个文件夹中,可以看到诸如"config"和"HEAD"等文件,其中的"config"就是本文前面提到的,优先级最高的本地仓库配置文件,而"HEAD"文件十分重要,会在后面的文章中详解
					qing@qingsword:~/myblog$ cd .git/

					qing@qingsword:~/myblog/.git$ ls
					branches  config  description  HEAD  hooks  info  objects  refs
					

现在我们有了一个本地的git仓库,可以在里面创建和修改文件了,就好像一个普通的文件夹一样,但其绝非一个普通的文件夹,所有的创建修改操作都被记录在".git"目录中。