记录了git status及git diff的一般使用,内容参考书籍《Git权威指南》

git status

git status 列出当前工作区及暂存区的文件的改动情况,如新提交的文件、改动过的文件、删除过的文件

常用:

  • git status -s:简短模式输出当前的改动情况,如下所示,第一列的字母展示了版本库和暂存区的差异,第二列的字母展示了暂存区和工作区的差异,各字母代表的含义如下
A  ../_posts/git-init.md
M  ../_posts/git-note.md
AM ../_posts/git.md
A  git-stage-show.png
' ' = unmodified           // 无改动

 M = modified              //修改

 A = added                 //添加

 D = deleted               //删除

 R = renamed               //重命名

 C = copied                //复制

 U = updated but unmerged  //更新未合并(待解决冲突)

git diff

如何查看目录树信息

git ls-tree <tree-id | HEAD>:展示tree对象

注:

  • -l:列出文件内容对象,即blob文件大小
  • -r:递归展示子tree对象,输出该tree对象底下的所有blob文件
  • -t:梯级形式展示时显示子tree对象的内容

git ls-files:列出工作区及暂存区的文件信息

注: -s列出文件ID等信息

git diff使用

git diff 用于展示不同区间的差异,以下为一般使用方法

  • git diff:展示工作区与暂存区的差异

  • git diff --cached:展示暂存区和版本库最新提交的差异

  • git diff HEAD:展示工作区和版本库最新提交的差异