在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。 完成这个任务最简单而又有效的工具是 git log
命令。git log命令是git仓库畅游神器。 配置管理员需要对git仓库进行查看, 错误定位,查文件的提交历史, 查分支的提交历史,查作者的提交历史等情况下,都用git log。
git log [<options>] [<revision range>] [[--] <path>…]
CODE
git log
不传入任何参数的默认情况下,不写<revision range>, 默认是 HEAD,也就是当前分支的头。git log
会按时间先后顺序列出HEAD之前所有的提交,最近的更新排在最上面。 正如你所看到的,这个命令会列出每个提交的 SHA-1 校验和、作者的名字和电子邮件地址、提交时间以及提交说明。
git log -p -2
其中一个比较有用的选项是 -p
或 --patch
,它会显示每次提交所引入的差异(按 补丁 的格式输出)。 你也可以限制显示的日志条目数量,例如使用 -2
选项来只显示最近的两次提交。代码审查的时候用。
git log --stat
代码统计利器。
git log --pretty=oneline
git log --oneline
简洁输出
git log --pretty=format:"%h - %an, %ar : %s"
按一定的format输出。
git log --pretty=format:"%h %s" --graph
显示成树形结构。
git log --since=2.weeks 或者 git log --after=2.weeks
git log --util=2.weeks 或者 git log --before=2.weeks
该命令可用的格式十分丰富——可以是类似 "2008-01-15"
的具体的某一天,也可以是类似 "2 years 1 day 3 minutes ago"
的相对日期。
git log --grep “dd”
查看comment信息中有什么的提交。
git log -S function_name
最后一个很实用的 git log
选项是路径(path), 如果只关心某些文件或者目录的历史提交,可以在 git log 选项的最后指定它们的路径。 因为是放在最后位置上的选项,所以用两个短划线(--)隔开之前的选项和后面限定的路径名。
https://git-scm.com/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-%E6%9F%A5%E7%9C%8B%E6%8F%90%E4%BA%A4%E5%8E%86%E5%8F%B2