本文的“剧情”承接 [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>" 加入仓库'

$ 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 命令的补充的更多相关文章

  1. [Git] 011 checkout 与 reset 命令的补充

    1. git checkout -- <file> 的示意 2. "checkout" 的补充 2.1 git checkout <branch_name> ...

  2. git 查看对比分支commit命令笔记

    git log  newheader(branch1) ^release(branch2) -- branch1 上比branch2多的commit 注意brnach2后面要--

  3. git查看和操作commit命令

    git reflog 显示所有branch的commit,包括commit和reset,以及已删除的commit.而git log只显示当前branch的commit,不包括已删除的commit gi ...

  4. [Git] 010 对 [Git 008] 的补充:实现 commit 不计次数

    回顾:[Git] 008 status 与 commit 命令的补充 的 "2.4" [Git 008] 的 "2.4" 使用 git commit --ame ...

  5. Git命令汇总(补充篇)

    上一篇<Git命令汇总基础篇>总结了使用Git的基本命令,这一篇作为补充主要给大家讲一些平时使用中的技巧和总结 . 学会了这些命令,已经基本解决了使用Git中大部分问题. 1.gitign ...

  6. Git的add、commit、push命令

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

  7. git commit命令

    git commit 主要是将暂存区里的改动提交到本地的版本库.每次使用git commit 命令我们都会在本地版本库生成一个40位的哈希值,这个哈希值也叫commit-id. commit-id在版 ...

  8. git学习------>git commit命令的默认编辑器的修改

    今天在新同事的电脑上,用git commit命令帮新同事提交代码的时候,编辑完commit的信息后,居然不记得怎么退出了.蛋疼. 后来百度了一下,原来此时是进入GUN nano编辑器.在这里可以添加你 ...

  9. Git 基本概念及常用命令

    一.基本概念 文件的三种状态:(任何一个文件在git中都有以下三种状态) 1) 已提交(committed):表示该文件已经被安全地保存在本地数据库中了. 2) 已修改(modified):表示修改了 ...

随机推荐

  1. 2.docker基础用法

    一.前言 OCI(Open Container Initiative):由Linux基金会主导于2015年6月创立,OCI定义了容器运行时的标准. OCI有两部分组成: the Runtime Spe ...

  2. 【leetcode】1169. Invalid Transactions

    题目如下: A transaction is possibly invalid if: the amount exceeds $1000, or; if it occurs within (and i ...

  3. Linux分屏操作

    需要安装工具tmux (1)安装工具 在ubuntu系统中使用sudo apt-get install tmux安装tmux工具 (2)使用工具 1,输入命令tmux使用工具 2,上下分屏:ctrl ...

  4. 【BZOJ2460】元素(拟阵)

    题意:给定n个物品,每个物品有属性x和价值y,要求从中选出一些使得价值和最大并且其中没有属性xor和为0的非空子集 n<=1000,x<=1e18,y<=1e4 思路:没有xor和为 ...

  5. HDU 1314 Numerically Speaking(大数加减乘除+另类二十六进制互相转换)

    原题代号:HDU 1314 原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1314 Numerically Speaking Time Limit: 2 ...

  6. 版本基线自动化之windows

    1.背景: 目前项目维护周期过程中,制作调试版本和对外发布版本次数比较频繁,流程过于繁琐和随意,且打包制作人成为瓶颈,为了规范版本基线流程和实现全员自动化参与,拟定版本基线自动化方案. 2.目标: 版 ...

  7. 解决Acunetix 12中文汉化的方法

    最近下载一款测试软件acunetix,苦于满屏英文的苦恼,看不懂,于是乎就问度娘,结果度娘就是给中文破解包: 我是12版的,网上提供的都是11版的,没法用.怎么办呢?还好我是做测试的,平时做兼容性测试 ...

  8. jQuery easing动画效果扩展

    引入Easing js文件 <script src="js/jquery.min.js"></script> <script src="js ...

  9. 数据库为什么使用B+树而不是B树

    B树和B+树的区别主要有两点: 在B树中,你可以将键和值存放在内部节点和叶子节点,但在B+树中,内部节点都是键,没有值.叶子节点同时存放键和值 B+树的叶子节点有一条链相连,而B+树的叶子节点各自独立 ...

  10. SecureCRT上传、下载文件 使用rz【上传】& sz【下载】命令

    首先安装:apt-get install lrzsz SecureCRT这款SSH客户端软件同时具备了终端仿真器和文件传输功能.比ftp命令方便多了,而且服务器不用再开FTP服务了.rz,sz是便是L ...