目录
一.版本库介绍
版本库又名仓库(repository)。可以将版本库简单理解为一个目录,所有文件被Git管理,每个文件的修改、删除都会被跟踪。
任何时刻都可以追踪历史,或者回退版本。
二.创建版本库
创建一个版本库并不难,选择合适的位置,创建一个空目录
# 创建目录
$ mkdir 目录名
# 进入目录
$ cd 目录名
# 显示当前目录
$ pwd
注意:Windows系统路径名不要包含中文!
# 通过git init命令把这个目录变成Git可以管理的仓库
$ git init
成功后会在当前路径下生成.git目录,默认是隐藏的。
# 查看.git目录
$ ls -ah
# 结果
./ ../ .git/
三.添加文件到版本库
所有的版本控制系统只能跟踪文本文件的改动,如txt文件、网页,程序代码等。版本控制系统可以告诉你每次的改动,如在第7行添加了一个单词,在第10行删除了一个符号。而图片、视频这些二进制文件,虽然也能由版本控制系统管理,但无法跟踪文件的变化,比如只知道图片从120KB变成了150KB,但具体内容是什么,版本控制系统不知道。
Microsoft的Word格式是二进制格式。因此,版本控制系统无法跟踪Word文件的改动,想要真正使用版本控制系统,就要以纯文本方式编写文件。
文本是有编码的,中文有常用GBK编码,日文为Shift_JIS编码,推荐使用标准的UTF-8编码,既没有冲突,又被所有平台支持。
使用Windows注意:不能使用Windows自带的记事本编辑任何文本文件。其原因是Microsoft开发记事本的团队在每个文件开头添加了0xefbbbf(十六进制)的字符。原本正确的程序一编译就报语法错误。可以使用其他记事本。
编写一个readme.txt文件,添加如下内容
Git is free.
将其放到新建的目录下,执行命令
# 将文件添加到仓库
$ git add readme.txt
好像什么也没发生,Unix的哲学是“没有消息就是好消息”,这说明添加成功。
$ git commit -m "first readme"
# 命令解析
-m后的内容是提交说明,最好有意义,以便查询历史
# 结果
[master (root-commit) 3f518d9] first readme
1 file changed, 1 insertion(+)
create mode 100644 readme.txt
# 结果分析
1 file changed:1个文件被改动(新添加的readme.txt文件);
1 insertions:插入了一行内容(readme.txt有一行内容)。
commit可以一次提交很多文件,所以可以多次add。