git log 日志命令——显示提交日志
语法
git log [<选项> …] [<版本范围>] [--] [<路径> …]
提示:方括号 [ ]
表示可选,...
表示可以有多项。
描述
列出通过从给定的提交中跟随父链接可到达的提交,但排除前面有一个 ^ 的提交。
版本表示法
-
^ 表示父提交,A^ 表示 A 的父提交,当一个提交有多个父提交时,使用 ^数字表示第几个父提交,例如 A 提交由 B 提交和 C 提交合并而来,因此 A 提交有两个父提交,A^ 表示 B 提交,A^2 表示 C 提交。
-
连续的^ 表示依次沿着父提交进行定位至某一祖先提交,多个连续的 ^ 也可以用 ~数字 表示,例如 A^ 或 A~1 表示 B 提交,A^^ 或 A~2 表示 D 提交。
版本范围表示法
- 一个提交 ID 实际上就可以代表一个版本列表,其含义是该版本开始的所有历史提交。
git log commit
- 两个或多个版本,相当于每个版本单独使用时指代的列表并集。
git log commit1 commit2
- 在版本前面添加 ^ 含义是取反,即排除这个版本库及其历史版本。
git log ^commit1 commit2
- “点点”表示法同上,注意“点点”表示法前后版本顺序很重要。
git log commit1..commit2
等价于 git log ^commit1 commit2
不能写成 git log commit2..commit1
这等价于 git log commit1 ^commit2
- 三点表示法的含义是两个版本共同能够访问到的除外。
git log commit1...commit2
- 某提交的历史提交,自身除外,用 commit^@。
git log commit1^@
- 仅提交本身不包含其历史提交,用 commit^!。
git log commit1^!
git log
显示提交历史,默认是 HEAD 及其提交历史。
--oneline 选项——以精简格式显示
每个提交仅显示一行的精简信息。
--graph 选项——显示提交关系图
以字符界面显示提交关系图,想要更加美观的提交关系图,请使用 gitk --all 命令。
-<n> 选项——显示 n 条日志
显示最近的 n 条日志。