要想弄明白git addgit commit的区别,首先我们需要知道三个概念:工作区(Working Directory)版本库(Repository)暂存区(Stage or index)

工作区

当你在开发一个项目时,主目录就是你的工作区。

版本库

工作区中有一个隐藏目录.git,这个就是git的版本库了。

暂存区

Git的版本库里存了很多文件,其中包括称为Stage或index的暂存区,还有一个git为我们自动创建的第一个分支master,以及指向master的一个指针HEAD
下面就是三个区的示意图:图片来着廖雪峰老师的 博客
三个区的示意图

区别

git addgit commit的区别就在于:
git add把文件添加进去,实际上就是把文件修改添加到暂存区;
git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。
因为我们创建Git版本库时,Git自动为我们创建了唯一一个master分支。所以,git commit就是往master分支上提交更改。
你可以简单理解为,需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。

所以要想将修改提交到master中一定要先git add到暂存区中,再git commit到master分支。

最新文章

  1. 【推荐】CentOS安装Subversion-1.8.11+HTTP协议支持配置
  2. parawork平台介绍
  3. Spark 自定义累加变量(Accmulator)AccumulatorParam
  4. .NET 泛型分析
  5. Weblogic日志机制详解
  6. sumoselect插件
  7. sqlite 跨数据库查询
  8. lintcode:玩具工厂
  9. webstorm卡、闪退以及win10中jdk配置
  10. bzoj3995[SDOI2015]道路修建
  11. perl 调用方法 子例程说明
  12. mybatis入门-框架原理
  13. leetcode-1006 Construct Binary Tree from Inorder and Postorder Traversal
  14. LeetCode第四天
  15. Ubuntu中firefox设置成中文
  16. CSS定位概述
  17. VXLAN, 一种叠加在L3网络上的L2网络
  18. Python脱产8期 Day01
  19. mysql 记录根据日期字段倒序输出
  20. django 关于render的返回数据

热门文章

  1. Eclipse配色方案插件 真漂亮!
  2. list.ensureCapacity竟然会变慢
  3. 手动安装Firefox Linux
  4. Cocos2dx使用ios内支付IAP具体流程-白白
  5. 工作总结 for 另类写法 循环加时间 集合合并 也是用的 static class Enumerable (IEnumerable<T>的扩展方法) (IEnumerable<T> 的 工具类) (所有集合 数组都实现IEnumerable<T>)
  6. Python学习笔记_Python对象
  7. a non-linear editing software
  8. SemaphoreSlim
  9. android.content.ReceiverCallNotAllowedException: 解决方法
  10. zoj 3023 Light Bulb