目录
前言
其实不管你是不是程序员,你的日常工作中都离不开对计算机的使用,你可能每天都需要进行文档的编辑、新建、改动等等,最典型的例子就是写毕业论文的时候,我记得自己写毕业论文的时候写了十几个版本,不停的备份。使用序号为1,2,3这样的数字对不同的版本进行标记。但假如你会使用Git,那对你所操作的文档版本的管理将会变得十分便捷。
无论是在Windows下还是Linux/macOS下,git的操作指令都是一样的,一般而言,对git的操作都是在终端上进行的,因此需要掌握一点点终端的命令。
Windows | macOS/Linux | 说明 |
cd | cd | 切换目录 |
cd | pwd | 获取当前所在位置 |
dir | ls | 列出当前文件列表 |
mkdir | mkdir | 创建新目录 |
无 | touch | 创建文件 |
copy | cp | 复制文件 |
move | mv | 移动文件 |
del | rm | 删除文件 |
cls | clear | 清除当前终端 |
1、Git用户设置
使用Git的时候需要设置用户的邮箱和用户名,之所以这样做是因为可以方便的查看是谁对需要管理的版本作出了什么样的操作。
$ git config --global user.name "Andy Ouyang"
$ git config --global user.name "8888888@qq.com"
输入完成之后,可以查看当前的设置:
$ git config --list
user.name=Andy Ouyang
user.email=8888888@qq.com
2、新建一个git仓库(Repository)
首先打开一个终端,并操作以下命令
$ mkdir git-practice #创建一个git-practice目录
$ cd git-practice #进入创建的目录
$ git init #初始化目录,让git对这个目录进行版本控制
其中,git init命令初始化git-practice目录,让git对其进行版本控制,并在该目录下创建一个.git目录,这个.git目录为隐藏目录,使用ctrl+h可以显示。如果是一个本身就已经存在的目录,那么直接切换到这个目录下然后执行git init命令就行了。
2.1 创建文件后交给git管控
2.1.1 创建文件交给git
对目录进行了初始化之后,让git可以开始管理这个目录,然后我们看看git是如何操作的。使用git status查看当前状态。
当前目录,除了GIt自动生成的.git之外没有任何东西,因此提示nothing to commit。我们在该目录下创建(touch)一个文件,并查看当前目录的状态。
这个时候,welcome.html文件状态为Untracked files,也就是说这个文件尚未被追加到git的版本控制系统中,还未正式被GIt追踪,只是刚加入这个目录而已。
2.1.2 把文件交给git
既然文件状态为Untracked,那么就需要把文件交给git,让git开始追踪他,命令为git add,后面加上文件名
$ git add welcome.html
此时再使用git status查看当前仓库状态
此时文件状态已经从Untracked编程new file。表示文件已经被安置在暂存区,不管如何,此时需要记住这样一个重要概念暂存区。
假如此时,我重新编辑了welcome.html文件,此时使用git status 查看状态:
发现welcome.html变成了两个,因为我们重新编辑了welcome.html文件之后,对Git来说,编辑之后的内容我们并没有把它放在暂存区,此时暂存区中的内容还是此前我们git add进来的内容。如果你想保留你刚刚做的更改,那么需要再次 git add welcome.html。
2.2 把暂存区的内容提交到存储库里
如果只是把改动增加到暂存区还不算完成整个流程,如果想让暂存区中的内容永久保留下来,需要使用git commit命令。
后面加上 -m "init commit" 是要说明,这次的commit做了什么事情,双引号之内的内容,一个很重要的概念是,Git的每次commit都是对暂存区内的内容进行操作,那些尚未使添加进暂存区的内容不会被commit到存储库中。比如,新增一个文件之后,但没有执行git add操作把它加入暂存区,那么git commit的时候该文件就不会被加入存储库中。记住,commit中的内容很重要,因为它代表了一个关键的提交信息,它一定是个重点而非废话,比如"fixed a bug"这种模糊表述,是非常不友好的。
本章总结
$ mkdir git-practice #创建目录
$ cd git-practice #进入目录
$ git init #使用git初始化
$ git status #查看当前目录状态
$ touch welcome.html #在当前目录创建文件
$ git status #查看当前目录状态
$ git add welcome.html #添加进暂存区
$ git commit -m "add welcome.html" #提交暂存区内的文档进入存储库