Git基础篇(七)——Git修改管理

前言:
  对于版本的管理,版本之间的差异对比是常用的操作,检查修改的内容。

1 暂存区和工作目录的差异

  通过使用git diff查看当前暂存区和工作目录的差异(只显示差异部分即快照),但不会显示工作空间新增的文件。

1
git diff

  也可以指定要查看的文件。

1
git diff a.c a.h

git_diff_a_c_a_h.png

2 暂存区和本地仓库的差异

  想要查看暂存区和当前本地仓库之间的差异可以使用参数--cachedstaged

1
git diff --cached
1
git diff --staged

git_diff_cached.png

  也可指定要查看差异的文件。

1
git diff --cached a.c a.h
1
git diff --staged a.c a.h

3 仓库两次提交的差异

  本地仓库存在多次提交时,我们想要比较某两次提交之间的差异,这时候可以指定要比较的两个版本的Hash编号或标签。

1
git diff 64a7e38 a141d52

git_diff_commit1_commit2.png

  如果要查看的是本地仓库当前版本和上一版本的差异,也可以直接使用git show指令。

1
git show

  如果只关心哪些文件存在差异,也即哪些文件被修改、新增、删除,对具体的文件内容不关心可以使用--stat参数。

1
git diff --stat 64a7e38 a141d52

4 查看仓库的提交记录

  Git对每次提交都会进行记录和管理,我们可以使其列出每一次提交的记录信息。同时也能用于查看HEAD目前指向哪个版本。

1
git log

  如果也可以简化显示的信息,一次提交信息占一行。

1
git log --oneline

  如果要在log信息基础上显示每次提交后有哪些文件被改动、增加、删除,但不显示具体改动内容信息,可以使用参数--stat

1
git log --stat

  按作者分类输出提交的汇总信息。

1
git shortlog

5 查看工作目录和暂存区修改记录

  通过使用指令git status我们可以了解当前对工作目录和暂存区的文件修改、增加、删除情况,但不关系具体的修改内容。

1
git status

  也可以简化显示的信息。

1
git status -s

git_status.png