Git 实战系列(二)git log 查看提交历史
在提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,可以使用 git log
命令查看,或者推荐使用 git 自带的图形化工具 gitk
。
命令方式
定制输出格式 1
git log
的默认输出格式非常不便于查阅提交历史,使用时可以带上以下三个参数:
1 | $ git log --graph --oneline --decorate |
命令的输出形象地展示了提交历史,包括本地分支比远程分支领先了多少个提交版本。
定制输出格式 2
如果对输出格式还不满意,可以使用 --pretty
参数定制输出格式:
1 | $ git log -5 --pretty=format:"%h - %an, %ar : %s" |
由于该参数的选项较多,推荐设置为别名(alias)使用:
1 | $ git config --global alias.lg log --graph --pretty=format:'%Cred%h%Creset - %s %Cgreen(%cr) %C(bold blue)<%an>' |
格式化输出,代码着色,而且附上了作者、提交时间和祖先图谱。
求差集
1 | $ git log HEAD --not origin/master |
也可用于筛选出准备 push
到远程仓库的提交,例如:
1 | $ git log --graph --oneline --decorate HEAD --not origin/master |
图形化方式
如果对输出格式还不满意,推荐使用 gitk
命令调用图形化工具查阅提交历史:
上半个窗口显示的是历次提交的分支祖先图谱,下半个窗口显示当前点选的提交对应的具体差异(其中右边 Patch 窗口显示当前提交的文件列表,左边 Diff 窗口显示每个文件的提交差异)。