1、安装Git
Git 各平台安装包下载地址为:http://git-scm.com/downloads
msysGit项目提供了Windows下的git版本,从https://git-for-windows.github.io下载(国内镜像),然后直接点击“下一步”按默认选项安装即可。
2、安装完Git后,需要对其进行配置,包括:
- 第一个要配置的是你个人的用户名称和电子邮件地址。这两条配置很重要,每次 Git 提交时都会引用这两条信息,说明是谁提交了更新,所以会随更新内容一起被永久纳入历史记录
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.co
-
我们先来理解下Git 工作区、暂存区和版本库概念
工作区:就是你在电脑里能看到的目录。
暂存区:英文叫stage, 或index。一般存放在 ".git目录下" 下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
版本库:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库(又名仓库),这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何 时刻都可以追踪历史,或者在将来某个时刻可以“还原”。Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个 分支master,以及指向master的一个指针叫HEAD。
- 创建一空的版本库
创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录(空文件夹):
(1)可以利用命令行进行创建
$ mkdir learngit --在当前目录下直接创建learngit文件夹
$ cd learngit --进入learngit问价夹中
$ pwd --显示当前目录的路径/Users/michael/learngit
$ git init --创建为仓库显示为Initialized empty Git repository in /Users/michael/learngit/.git/
(2)也可以自己建好目录(文件夹)后,通过命令进到文件夹下,再创建
$ cd E: --进入E盘
$ mkdir learngit --在E:盘下建立learngit文件夹
$ cd learngit --进入learngit文件夹
$ git init --将当前目录变成Git可以管理的仓库,显示为Initialized empty Git repository in /Users/michael/learngit/.git/
这个时候在工作区目录下会多出个.git
的目录,这个目录是Git来跟踪管理版本库的,不要手动修改这个目录里面的文件,否则容易把Git仓库给破坏了。
3、添加文件到版本库中
(1)注意事项
所有的版本控制系统,其实只能跟踪文本文件的改动,比如TXT文件,网页,所有的程序代码等等,Git也不例外。而图片、视频这些二进制文件,虽然也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是只知道图片从100KB改成了120KB,但到底改了啥,版本控制系统不知道,也没法知道。
需要注意的是Microsoft的Word格式是二进制格式,因此,版本控制系统是没法跟踪Word文件的改动的。因为文本是有编码的,比如中文有常用的GBK编码,建议所有文本文件使用标准的UTF-8编码,所有语言使用同一种编码,既没有冲突,又被所有平台所支持。
有一点尽量不要使用Windows自带的记事本编辑任何文本文件,因为其在保存UTF-8编码的文件时,会在每个文件开头添加一个0xefbbbf(十六进制)的字符,可能会出现文本开头处会莫名其妙地多出“?”,很容易出现编译错误。建议使用Notepad++代替记事本,把编码格式改为UTF-8 without BOM即可。
(2)添加文本文件
- 编写一个.text文件,放到learngit目录下,这样Git才能找到;
- 第一步,用命令
git add
告诉Git,把文件添加到仓库: $ git add readme.txt ,实际上就是把文件修改添加到暂存区stage(或是index); - 第二步,用命令
git commit
告诉Git,把文件提交到仓库:$ git commit -m "wrote a readme file" [master (root-commit) cb926e7] wrote a readme file 1 file changed, 2 insertions(+) create mode 100644 readme.txt
git commit -m "xxx" 输入的是本次提交的说明,可以输入有意义的内容,这样你就能从历史记录里方便地找到改动记录,实际上就是把暂存区的所有内容提交到当前分支master。
另外可以使用 $ git add xxx 添加多个文件,然后利用 git commit -m "xxx" 同时提交,如:
$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m "add 3 files."
4、小结
把文件往Git版本库里添加的时候,是分两步执行的:
第一步是用 git add 把文件添加进去,实际上就是把文件修改添加到暂存区;
第二步是用 git commit 提交更改,实际上就是把暂存区的所有内容提交到当前分支。
因为我们创建Git版本库时,Git自动为我们创建了唯一一个master
分支,所以,现在, git commit 就是往master
分支上提交更改。
可以简单理解为,需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。
一旦提交后,如果你又没有对工作区做任何修改,那么工作区就是“干净”的,暂存区里也没有任何内容。