简介
本文介绍git查看信息相关的命令。
查看日志(git log)
命令格式
git log [options] //按q键退出
选项
选项 | 含义 |
-n | 显示最近n次提交 |
--stat | 显示commit历史,以及每次commit发生变更的文件 |
--oneline | 单行显示。(只显示七位commit id及日志) |
--pretty=format:xxx | 指定格式显示。终极显示命令如下: 这个命令比较长,可以通过给这个命令设置别名解决: |
--grep feature | 显示某个commit之后的所有变动,其"提交说明"必须符合搜索条件 |
--follow [file] | 显示某个文件的版本历史,包括文件改名 |
-S [keyword] | 根据关键词搜索提交历史 |
-p [file] | 显示指定文件相关的每一次diff |
比较信息
查看状态
命令 | 作用 |
git status | 显示有变更的文件 |
比较差异
命令 | 作用 |
git diff | 工作区 vs 暂存区。 |
git diff [commit] head | 工作区 vs 本地仓库。(指定head与commit的区别) |
git diff --cached [file] | 暂存区 vs 本地仓库。(暂存区和上一个commit的差异) |
git diff HEAD | 显示工作区与当前分支最新commit之间的差异 |
git diff [first-branch] [second-branch] | 显示两次提交之间的差异 |
git diff --shortstat "@{0 day ago}" | 显示今天你写了多少行代码 |
查看某次提交的变化
命令 | 作用 |
git show [commit] | 显示某次提交的元数据和内容变化 |
git show --name-only [commit] | 显示某次提交发生变化的文件 |
git show [commit]:[filename] | 显示某次提交时,某个文件的内容 |
查看指定信息
查看当前分支的提交信息
命令 | 含义 |
git reflog | 显示当前分支的最近几次提交(可以得到commit id)。 |
查看特定文件的提交信息
命令 | 含义 |
git blame [file] | 显示指定文件是什么人在什么时间修改过 |
git whatchanged [file] | 显示某个文件的版本历史,包括文件改名 |
查看用户提交信息
选项 | 含义 |
git shortlog -sn | 显示所有提交过的用户,按提交次数排序 |