git学习(三):git暂存区
回顾之前学过的命令:
git init // 初始化一个项目
git add // 将文件交给工作区
git commit // 提交修改
查看提交日志:
git log // 查看提交日志
git log --stat // 每次提交文件的变更统计
可进行空的提交,也就是不提交任何文件的修改:
git commit --allow-empty
比较差异:
git diff // 查看修改后的文件于版本库中文件的差异
修改不能直接提交么?
对于已经commit到版本库中的文件,如果再修改的话,不能直接提交,还是要用git add命令添加一下才能提交。
可以从一下几个命令验证修改后直接提交并没有成功:
git diff // 比较差异
git log --pretty=oneline // 查看提交日志
git status -s // 显示文件的状态, M表示修改了,??表示新增
On branch master
Changes not staged for commit:
modified: welcome.txt Untracked files:
test.ini no changes added to commit
需要针对修改的文件使用git add命令,将修改的文件添加到"提交任务"中,然后才能提交!
对于其他的版本控制系统来说执行add操作是向版本库中添加新文件用的,修改的文件(已被版本控制跟踪的文件)在下次提交时会直接被提交。但是git为啥还要我们做一次add动作呢?
git add welcome.txt // 添加文件
git diff // 与中间状态以无区别
git diff HEAD // HEAD表示版本库的头指针
git status
git status -s // 输出的M的位置有变化
M位置不同的含义是什么呢?
在执行完git add命令之前,这个M位于第二列(第一列是一个空格),在执行完git add之后,字符M位于第一列,第二列是空白。
位于第一列的字符M:版本库中的文件与处于中间状态——提交任务(提交暂存区,stage)中的文件相比有改动
位于第二列的字符M:工作区当前的文件与处于中间状态——提交任务(提交暂存区,stage中的文件相比有改动。
先不忙着执行git commit命令,再执行一些操作
echo "Bye-Bye." >> welcome.txt
git status
git status -s


git学习(三):git暂存区的更多相关文章
- Git学习 -- 工作区和暂存区
工作区(working directory): 就是能看到的目录,如我的git文件夹 版本库(repository): 工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库 里面最重要的就 ...
- Git学习——工作区和暂存区
工作区就是我们的电脑上的git初始化目录.版本库就是我们工作区中的隐藏目录.git.版本库中分为两个部分:(1)stage(index)暂存区:git add <file>命令后file就 ...
- 完整学习git三 查看暂存区目录树 git diff
1显示暂存区中的目录树 git ls-files git ls-tree git diff 魔法 1工作区与暂存区比较 git diff 2工作区与HEAD比较 git diff HEAD 3暂存区与 ...
- git的工作区和暂存区
目录 备注: 知识点 工作区(Working Directory) 版本库(Repository) 备注: 本文参考于廖雪峰老师的博客Git教程.依照其博客进行学习和记录,感谢其无私分享,也欢迎各位查 ...
- [git]入门-工作区、暂存区、版本库
转载整理自:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013743256 ...
- 了解Git的工作区和暂存区
Git有工作区,暂存区之分. 1.工作区 我们电脑上的某个被Git管理的文件夹,就是一个工作区. 比如说我的GitWorkText文件夹,如图: 2.版本库(Repository) 在工作区有一个隐藏 ...
- git指令-工作区和暂存区
#git指令-工作区和暂存区 工作区(Working Directory):就是平常电脑可以看到的文件夹目录 版本库(Repository):存放git内容的文件夹例如: Git的版本库里存了很多东西 ...
- git学习——<三>git操作
一.创建仓库 创建一个目录 mkdir repository cd到该目录下,初始化该版本库 git init 至此,版本库创建成功,可以在该文件夹下看到.git文件夹,ls -ah可以看到该文件夹. ...
- Git学习(三)——暂存区、远程仓库、增删改管理
一.工作区和暂存区 工作区(Working Directory) 就是在你的电脑里能看到的目录 版本库(Repository) 工作区中的一个隐藏目录.git,这个不算工作区,而是Git版本库.Git ...
- Git 基础教程 之 暂存区
工作区(working directory),就是目录,例如:pythonwork 版本库(Repository),工作区有一个隐藏的目录 .git 就是Git的版本库. 版本库最重要的是称为stag ...
随机推荐
- 【redis】常用命令
三.常用命令 1)连接操作命令 quit:关闭连接(connection) auth:简单密码认证 help cmd: 查看cmd帮助,例如:help quit ...
- 一个PHP操作大变量的例子
By C extensions we can directly manipulate the large PHP variables, such as:GET,POST,SERVER You can ...
- 跳出框架iframe的操作语句
常用的iframe操作语句 ① 本页面跳转语句: "window.location.href" 或者 "location.href" ② 上一层页面跳转 ...
- Chrome 错误代码:ERR_UNSAFE_PORT
最近在用Nginx发布多个站点测试,使用了87.88端口, 88端口访问正常,87端口就怎么也访问不了, 点击更多,提示错误代码:ERR_UNSAFE_PORT 不安全的端口?尼玛就只靠端口就能解决不 ...
- DBA_实践指南系列2_Oracle Erp R12系统安装配置设定Setup(案例)
2013-12-02 Created By BaoXinjian
- fcntl函数用法详解
功能描述:根据文件描述词来操作文件的特性. #include <unistd.h> #include <fcntl.h> int fcntl(int fd, int cmd) ...
- Objective-C学习笔记(十八)——对象方法和类方法的声明,定义及调用
在程序设计中,函数的使用无疑大大简化了代码的编写.提高代码执行的效率.降低反复代码. 所以如今我们来具体研究一下方法. 本样例还是以People类为例. (一)代码一: (1)先在People.h中声 ...
- 自己定义View学习之12/7(进度条之混合模式)
今天重点内容是我们学习自己定义view里面的混合模式.事实上我们的画布就跟photoshop一样.是个图层关系,一层盖着一层.这样就导致有非常多种覆盖模式,这就是我们今天的主题."混合模式& ...
- Ubuntu下python两个版本的切换
最近在Ubuntu16.04安装了python3.5还有系统自带的python2.7.13,总结一下不同版本的切换问题. alias:别名 bashrc:个人配置文件 一.修改Python版本(针对用 ...
- MongoDB索引原理
转自:http://www.mongoing.com/archives/2797 为什么需要索引? 当你抱怨MongoDB集合查询效率低的时候,可能你就需要考虑使用索引了,为了方便后续介绍,先科普下M ...