要想弄明白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分支。

Git命令add和commit的区别的更多相关文章

  1. git 命令 git status add rm commit mv

    1.查看 git 仓库文件改动状态 Git 仓库内文件改动有 4 种状态,除了 Unmodified 状态的文件因为并未改动默认没有状态不做显示之外,其他文件改动状态都可以通过 git status ...

  2. 【记录】gitLab git命令add commit fetch pull push

    最近项目使用git进行版本控制,由于之前用svn,所以对git不是太熟悉,网上一通乱找git各命令含义, 以下内容感觉讲的很详细,可以很清楚理解git提交流程,博主把重要的信息用红字标注了,更加显眼. ...

  3. git 撤销add和commit

    有时候改完代码发现改错分支了,而这个时候已经add或者commit了,怎么办,有办法: 1.若果已经add .  了这个时候可以使用git stash命令,具体操作命令如下: (1) > git ...

  4. Git的add、commit、push命令

    简单的代码提交流程1.git status 查看工作区代码相对于暂存区的差别2.git add . 将当前目录下修改的所有代码从工作区添加到暂存区 . 代表当前目录3.git commit -m ‘注 ...

  5. git命令 add -a和add .和add -u 的区别

    总结: git add -a 所有的更改操作--新建,更改,删除: git add . 只包括 新建 ,修改操作:无删除: git add -u 只包括修改,删除操作,无新建: 示例: git ini ...

  6. Git撤销add、commit

    撤销add git status 查看当下更新的文件 git reset HEAD 表示撤销上次add的所有文件 git reset HEAD dir/dir/test.php 撤销指定文件 撤销co ...

  7. GIT入门笔记(9)- git的add和commit机制原理

    工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库. Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支mas ...

  8. 【原理、命令】Git基本原理、与Svn的区别、命令

    一.Git是什么? Git是目前世界上最先进的分布式版本控制系统.工作原理 / 流程:Workspace:工作区Index / Stage:暂存区Repository:仓库区(或本地仓库)Remote ...

  9. 使用git命令修改commit提交信息

    很多时候我们在提交代码时可能会把commit提交信息写错了,这个时候我们就可以用到下面的git命令来修改commit提交信息 git commit --amend 输入"i"之后进 ...

随机推荐

  1. 选择器(E:hover/E:active/E:focus的使用)

    <!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head><meta ...

  2. CentOS系统下Hadoop、Hbase、Zookeeper安装配置

    近期给一个项目搭建linux下的大数据处理环境,系统是CentOS 6.3.主要是配置JDK.安装Tomcat,Hadoop.HBase和Zookeeper软件.博主在Hadoop这方面也是新手.配置 ...

  3. 镜像二叉树——剑指Offer

    https://www.nowcoder.net/practice/564f4c26aa584921bc75623e48ca3011?tpId=13&tqId=11171&tPage= ...

  4. java编程思想-多态

    java中除了static方法和final方法(private方法属于final方法)之外,其他所有的方法都是动态绑定即运行时绑定. public class test { private void ...

  5. Jquery的运用

    1.首先建一个目录,在目录里面加入JQuery的插件 " jquery-1.7.2.min.js "     2.在html页面去引用这个JQuery插件,并将须要使用JS脚本的J ...

  6. web常见之音乐播放器

    代码来源于:这位Github小伙伴,我只负责解说! 效果图如下: 先上HTML代码 源码: <!DOCTYPE html> <html> <head> <me ...

  7. hdu 4869 Turn the pokers 策略(组合数)

    题意:输入操作次数n和扑克牌数m,一開始扑克牌全都背面朝上. 如今输入n个数xi,表示选择xi张牌翻转,问最后的牌的情况有多少种可能? 题解: 我们将一開始的牌觉得是m个0.而翻转就是将0变成1或者1 ...

  8. 浅谈MySQL Capabilities --从调研PHP mysqlnd源码细节角度认识

    今天一起来研究下MySQL Capabilities,这个非常重要,如果大家有想法自己动手实现一个MySQL客户端或者Proxy工具,那么就得先了解一下这块,正好PHP 5.3以上版本由于官方为了规避 ...

  9. tesnorflow Conv2DTranspose

    tensorflow/python/layers/convolutional.py # Infer the dynamic output shape: out_height = utils.decon ...

  10. ps图片怎样实现渐变

    首先我先将一副图片展示给大家: 我所做的效果是想把图片做成渐变.而不改变中间图片的颜色效果. 接下来我来说明一下我的所做思路. 首先将图片中间部分选择出来.然后复制成一个图层. 详细操作是用魔棒进行反 ...