Git简介
Git是目前世界上最先进的分布式版本控制系统(没有之一)。
Git的诞生
在2005年,BitMover结束了与Linux开源社区的合作,因此Linus花了两周时间自己写了一个分布式版本控制系统,这就是Git。Git迅速成为最流行的分布式版本控制系统。到了2008年,Github网站上线,它为开源项目免费提供Git存储,无数开源项目开始迁移至Github,包括JQuery,PHP,Ruby等等。
集中式和分布式的区别
集中式版本控制系统的代表是SVN,版本库集中存放在中央服务器,在工作之前先要从中央服务器取得最新版本,在工作完成之后再将自己的版本推送到中央服务器。集中式版本控制系统最大的毛病就是必须联网才能工作,在没有网络的情况下则无法进行工作。
分布式版本控制系统的代表是Git,在分布式版本控制系统中没有中央服务器的概念,每个人的电脑都是一个完整的版本库,此时不需要网络也能进行工作,因为版本库在本地,不需要向外部请求版本。
和集中式版本控制系统相比,分布式版本控制系统的安全性要高很多,因为每一个人的电脑里都有完整的版本库,即使其中某一个人的版本库遭到损坏,也不会影响其他人的正常工作。而对于集中式版本控制系统来说,一旦中央服务器遭到破坏,那么所有的人都无法进行正常工作。
安装Git
在windows上安装Git
从Git官网直接下载安装程序,然后按默认选项安装即可。安装完成后,在开始菜单找到Git -> Git Bash并打开,出现如图所示的命令行窗口,则表示安装成功。
之后在命令行输入以下命令:
$ git config --global user.name “Your Name”
$ git config --global user.email “email@example.com”
注意: git config命令的 –global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。
创建版本库
什么是版本库呢?版本库又名仓库,英文repository。可以简单理解成一个目录,这个目录里的所有文件都能被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都能追踪历史,或者在将来某个时刻可以“还原”。
创建一个版本库,首先,选择一个合适的地方,创建一个空目录。
$ mkdir learngit
$ cd learngit
$ pwd
/Users/michael/learngit
在使用windows系统的情况下,为了避免遇到各种莫名其妙的问题,需要确保目录名(包括父目录)不包含中文
第二步,通过 git init 命令把这个目录变成Git可以管理的仓库。
瞬间Git就把仓库建好了,而且告诉你是一个空的仓库(empty Git repository),细心的读者可以发现当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。
把文件添加到版本库
所有的版本控制系统,其实只能跟踪文本文件的改动,比如txt文件,网页,所有的程序代码等等,Git也不例外。版本控制系统可以告诉你每一次的改动,比如在第3行加了一个单词“hello”,在第7行删除了一个单词“world”。
==注意:==在使用windows系统时,不要使用windows自带的记事本编辑任何文本文件,原因是在每个文件的开头有一个0xefbbbf(十六进制)的字符,可能会引起一些难以预料的问题。
现在开始编写一个readme.txt文件,内容如下:
hello world
this is a test file
一定要放在Git仓库的目录下,这样Git才能找到这个文件。
第一步:用命令 git add告诉Git,把文件添加到仓库:
$ git add readme.txt
第二步:用命令git commit告诉Git,把文件提交到仓库:
$ git commit -m "wrote a readme file"
[master (root-commit) eaadf4e] wrote a readme file
1 file changed, 2 insertions(+)
create mode 100644 readme.txt
git commit命令 -m后面输入的是本次提交的说明,可以输入任意内容,最好是有意义的,方便从历史记录里找到改动记录。
git commit命令执行成功之后,会提示 1 file changed 表示一个文件被改动,2 insertions 表示插入了两行内容。
注意: git add命令可以多次使用,用于添加多个文件,git commit 可以一次提交多个文件。
小结
初始化一个Git仓库,使用git init命令。
添加文件到Git仓库,分两步:
1、使用命令 git add “file” ,该命令可以多次使用,添加多个文件。
2、使用命令git commit -m “message”,将之前添加的文件提交到Git仓库。