[Git] 008 status 与 commit 命令的补充
本文的“剧情”承接 [Git] 007 三棵树以及向本地仓库加入第一个文件
1. 对 "status" 的补充
1.1 "status" 有个参数 "-s"
- 命令:
git status -s

- 没有消息使最好的消息
1.2 比较
git status -s显示的信息比git status简洁

1.3 不妨再添加一个文件

1.4 往 "note_01.txt" 中写入文本

1.5 查看

- 第 3 行开头红色的 "??" 说明 "note_01.txt" 还没有进行过 "add" 或 "commit" 操作
1.6 将 "note_01.txt" 加入暂存区后再查看

- 第 5 行开头绿色的 "A",说明 "note_01.txt" 已经被加到暂存区了
1.7 继续往 "note_01.txt" 中添加文本

1.8 再查看一下

- 第 3 行开头有绿色的 "A" 与红色的 "M"
- 绿色的 "A" 说明 "note_01.txt" 已经被加到暂存区了
- 红色的 "M" 说明工作区的 "note_01.txt" 又做了修改,与暂存区的 "note_01.txt" 不同了
2. 对 "commit" 的补充
2.1 "commit" 有个参数 "-m"
git commit -m "<message>"

- 知识点
- 有些版本用
git commit跳转,使用 "vi / vim" 编辑后,中文部分可能会乱码 - 使用
git commit -m "<message>"可以避免乱码
- 有些版本用
2.2 查看

分析
- 此时加入本地仓库的是暂存区的 "note_01.txt"
- 第 3 行的 "M" 前预留了一个位置;对比 "1.8" 的图,这个位置使留给 "A" 的
2.3 添加 & 提交
- 因为工作区的 "note_01.txt" 有了变动,所以在“添加 & 提交”一次
- 提交过的文件,可以使用
git commit -am命令- "-am" 的 "a" 是 "all" 的意思
- 之前没有 "add"、"commit" 的文件不能用

2.4 提问时间
- 只做了一个很小的变动,不想 "commit" 怎么操作?
2.4.1 方法一
- 使用
git commit --amend - 此法可以把后一次提交并入前一次
- 但纪录中仍有两条
- 证据:"commit" 的次数不变,但哈希值会变
在之前的基础上加入一句'4. git commit -m "<message>" 加入仓库'

- 这里犯了个错误:我 "commit" 之前忘记 "add" 了;成功版见 [Git] 010 对 [Git 008] 的补充:实现 commit 不计次数
$ git commit --amend


2.4.2 方法二
- 方法二是方法一的进阶版
使用:
git commit --amend --no-edit- 此法可以把后一次提交并入前一次,并且可以不写“注释”
- 但纪录中仍有两条
- 证据:"commit" 的次数不变,但哈希值会变
同方法一,这里犯了个错误:我 "commit" 之前忘记 "add" 了;成功版见 [Git] 010 对 [Git 008] 的补充:实现 commit 不计次数

2.5 有参数可以在第一次 "commit" 时不写“注释”
- 挖个坑,日后填平
- 坑号编码:Git08-1
[Git] 008 status 与 commit 命令的补充的更多相关文章
- [Git] 011 checkout 与 reset 命令的补充
1. git checkout -- <file> 的示意 2. "checkout" 的补充 2.1 git checkout <branch_name> ...
- git 查看对比分支commit命令笔记
git log newheader(branch1) ^release(branch2) -- branch1 上比branch2多的commit 注意brnach2后面要--
- git查看和操作commit命令
git reflog 显示所有branch的commit,包括commit和reset,以及已删除的commit.而git log只显示当前branch的commit,不包括已删除的commit gi ...
- [Git] 010 对 [Git 008] 的补充:实现 commit 不计次数
回顾:[Git] 008 status 与 commit 命令的补充 的 "2.4" [Git 008] 的 "2.4" 使用 git commit --ame ...
- Git命令汇总(补充篇)
上一篇<Git命令汇总基础篇>总结了使用Git的基本命令,这一篇作为补充主要给大家讲一些平时使用中的技巧和总结 . 学会了这些命令,已经基本解决了使用Git中大部分问题. 1.gitign ...
- Git的add、commit、push命令
简单的代码提交流程1.git status 查看工作区代码相对于暂存区的差别2.git add . 将当前目录下修改的所有代码从工作区添加到暂存区 . 代表当前目录3.git commit -m ‘注 ...
- git commit命令
git commit 主要是将暂存区里的改动提交到本地的版本库.每次使用git commit 命令我们都会在本地版本库生成一个40位的哈希值,这个哈希值也叫commit-id. commit-id在版 ...
- git学习------>git commit命令的默认编辑器的修改
今天在新同事的电脑上,用git commit命令帮新同事提交代码的时候,编辑完commit的信息后,居然不记得怎么退出了.蛋疼. 后来百度了一下,原来此时是进入GUN nano编辑器.在这里可以添加你 ...
- Git 基本概念及常用命令
一.基本概念 文件的三种状态:(任何一个文件在git中都有以下三种状态) 1) 已提交(committed):表示该文件已经被安全地保存在本地数据库中了. 2) 已修改(modified):表示修改了 ...
随机推荐
- bzoj1195 [HNOI2006]最短母串 AC 自动机+状压+bfs
题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=1195 题解 建立 AC 自动机,然后构建出 trie 图. 然后直接在 trie 图上走.但是 ...
- Delphi-----接口请求,Get与Post
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...
- 【CF487E】Tourists
洛谷链接 题意 给定一张无向图,点有点权,多次询问两点之间路径上点权最小的点的可能的最小值,支持修改点权. Sol 一棵树就很简单 , 于是我们考虑点双(环)上的情况 , 直观想法就是缩完点双后一个点 ...
- watch和computed
watch和computed都是以Vue的依赖追踪机制为基础的,它们都试图处理这样一件事情:当某一个数据(称它为依赖数据)发生变化的时候,所有依赖这个数据的“相关”数据“自动”发生变化,也就是自动调用 ...
- 前端面试题常考&必考之--跨域的解决办法
1.为啥出现跨域??? 在制定Html规则时,为了安全的考虑,一个源的脚本(网页,网站)不能与另一个源的资源进行交互, 所以就引发一个词叫做“同源策略”. 同源策略:同源策略是一种约定,它是浏览器最核 ...
- jq 获取各个元素的宽度高度的方法
JS获取各种宽度.高度的简单介绍: scrollHeight: 获取对象的滚动高度. scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离 scrollTop:设置或获 ...
- React Native 中不用手点击,代码实现切换底部tabBar
参考:https://www.jianshu.com/p/02c630ed7725 tabBar1页面有按钮,点击切换到tabBar2 直接用this.props.navigation.navigat ...
- #1126-JSP服务器响应
JSP服务器响应 Response响应对象主要将JSP容器处理后的结果传回到客户端.可以通过response变量设置HTTP的状态和向客户端发送数据,如Cookie.HTTP文件头信息等. 一个典型的 ...
- Linux root用户与普通用户时间不一致
造成这种原因有多种,可能是安装软件时选的时区不是本国时间等等. 今天检查了root用户和oracle及grid用户的时间不一样,幸好数据库还没有正式应用,不然可能会造成时间差影响. 现在将同步的方法步 ...
- 《SQL Server 2012 T-SQL基础》读书笔记 - 6.集合运算
Chapter 6 Set Operators 语法如下: Input Query1 <set_operator> Input Query2 [ORDER BY ...] 有ORDER B ...