咱们在安装完Git并做了基础配置之后,接下来就是去使用Git工作了,那么在修改完文件之后我们要把文件加入Git的管理范畴内进行提交,怎么做呢?今天我们就来介绍一下add和commit命令。
在介绍add和commit命令之前我们先来了解一下Git的几个基本概念:
工作目录
暂存区
版本库

工作目录很好理解就是你工作的文件目录,当你从远程仓库克隆或者在本地init之后就会出现.git目录,而.git目录不属于工作目录,它是Git的版本库,这个时候工作目录也就纳入了Git的版本管理范畴中了。Git的版本库中有很多东西,其中最重要的就是称为stage(或者index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD,分支和HEAD的知识我们后面单独介绍。当你执行git add时候就是把你工作目录下的文件添加到暂存区,然后执行git commit命令,这个时候就把暂存区的所有内容当成一个集合提交到当前分支(类比一下java io流中的缓冲流)。总之你可以理解为把你需要修改的文件先全部放到暂存区,然后一次性提交暂存区的所有修改。
介绍完概念和理论,我们接下来就在咱们的示例工程中去实践一下。工程的GitHub地址为https://github.com/AlleriaWindrunner/git-learning.git。上篇我给示例工程添加了目录:

但是我们发现这个目录不是很美观,那我们就来美化一下然后在目录中把对应的知识分享链接也加上去。
首先我们来美化一下目录,GitHub默认是支持markdown文件格式的,我们把README文件名改成README.MD。我们查看下工作目录下文件的状态:

然后我们重命名README文件:

修改完成后我们执行git add命令把修改添加到暂存区:

按照示意图中的步骤我们执行git commit命令把修改提交到版本库:

最后我们执行git push把本地修改推送到远程仓库看一下效果:


这个时候在GitHub上面查看,目录已经美化了,那接下来我们就按照上面的步骤把知识分享文章的链接也加上。


链接加上之后发现遗漏了本篇的目录,这个时候我们修改暂存区文件的内容把本篇的目录补上:


确认本次修改集的内容都添加到暂存区之后我们再执行git commit命令提交到版本库并推送到远程仓库:

最后我们来看一下效果:

不知道你有没有注意,第一次我美化完目录后就直接add、commit、push,第二次添加链接和补全目录时由于忘记了补全目录我先把链接的变更添加到暂存区,然后再次修改后又执行了git add命令把新的变更再次添加到了暂存区,最后执行了commit、push命令,这个地方很多刚开始用 Git的小伙伴都有一个不好的习惯就是没有做好暂存区变更集合的检查就执行git commit从而导致commit次数太多,所以特意提出来让大家注意下,Git的每次提交尽量是一个变更集噢,不然你的提交记录会很混乱。你可以执行git log来查看你的commit纪录:

可以看到我们的提交记录是很清晰的哦。好了,通过一系列的修改和提交演示了git add和git commit的基本使用,希望对你有帮助。




