Git数据管理分区

117 阅读2分钟

git add和git commit的理解

前言

git的本地数据管理分为三个区域,分别为工作区暂存区本地仓库,git托管的流程是先将需要托管的文件从工作区同步到存储区,再将存储区的内容同步到本地仓库。

1、将工作区的内容同步到暂存区

使用git add [filename]的指令可以将工作区内untracked和modified文件同步到暂存区,add命令不仅是添加文件到暂存区,也包括删除暂存区中的文件,所谓删除暂存区的文件是指,当你删除掉了原来工作区中的文件,此时工作区中的文件与暂存区不同步,需要使用git add指令来同步工作区与暂存区中的文件。 例如:

  • 1、在工作区中创建一个文件
touch a.txt
  • 2、将工作区文件同步到暂存区
git add a.txt
  • 3、查看暂存区中文件
git ls-files

发现暂存区中

a.txt

  • 4、此时删除工作区中的a.txt文件
rm -rf a.txt
  • 5、查看暂存区中的文件
git ls-files

发现暂存区中

a.txt

  • 6、此时需要通过git add a.txt来同步工作区与暂存区的文件
git add a.txt
  • 7、查看暂存区的文件,发现a.txt就没有了

2、将暂存区内容同步到本地仓库

使用git commit -m '[message]'可以将暂存区中的内容同步到存储区,同样也是包括添加和删除,同样以上边的例子继续看,在工作区中创建了a.txt文件后,通过git add命令将a。txt文件同步到暂存区中,再使用git commit命令将暂存区中的a.txt文件同步到本地仓库,如果此时删除掉了a.txt,就需要先使用git add命令将暂存区中的a.txt删除,然后再通过git commit命令同步暂存区和本地仓库的内容,删除掉本地仓库中的a.txt文件。注意此时就有两个commit了,也就是有两个版本了。