Git命令add和commit的区别
Posted 芬芬是个乖宝宝
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git命令add和commit的区别相关的知识,希望对你有一定的参考价值。
要想弄明白git add
和git commit
的区别,首先我们需要知道三个概念:工作区(Working Directory)
、版本库(Repository)
、暂存区(Stage or index)
。
工作区
当你在开发一个项目时,主目录就是你的工作区。
版本库
工作区中有一个隐藏目录.git
,这个就是git的版本库了。
暂存区
Git的版本库里存了很多文件,其中包括称为Stage或index的暂存区,还有一个git为我们自动创建的第一个分支master
,以及指向master
的一个指针HEAD
。
下面就是三个区的示意图:图片来着廖雪峰老师的 博客。
区别
git add
和git commit
的区别就在于:git add
把文件添加进去,实际上就是把文件修改添加到暂存区;git commit
提交更改,实际上就是把暂存区的所有内容提交到当前分支。
因为我们创建Git版本库时,Git自动为我们创建了唯一一个master分支。所以,git commit就是往master分支上提交更改。
你可以简单理解为,需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。
所以要想将修改提交到master中一定要先git add
到暂存区中,再git commit
到master分支。
以上是关于Git命令add和commit的区别的主要内容,如果未能解决你的问题,请参考以下文章
使用plumbing命令来深入理解git add和git commit的工作原理
git GUI 中的 Git add (ctrl+A) 和 Stage to Commit (ctrl+T) 有啥区别?