1、格式化 --pretty=format:"%cr %cn %s" --pretty=onelilne --pretty=fuller
%H 提交对象的完整哈希字符串
%h 提交对象的简短哈希字符串
%T 树对象的完整哈希字符串
%t 树对象
%P 父对象的完整哈希字符串
%p 父对象的简短哈希字符串
%an 作者名字
%ae 作者电子邮箱
%ad 作者修订日期
%ar 作者修订日期,以多久以前的方式显示
%cn 提交者名字
%ce 提交者电子邮箱
%cd 提交日期
%cr 提交日期,多久以前
%s 提交说明
2、是否合并信息 --merges --no-merges
3、时间范围 --after={} --before={}
4、-S -Snewa 通过查询文件的变更内容来检索出指定提交的日志 注:-S后没有=,与查询内容之间也没有空格符
--fileName fileName为任意文件名,查看指定文件的提交信息。(注:文件名应该放到参数的最后位置,通常在前面加上--并用空格隔开表示是文件)
5、--branchName branchName为任意一个分支名字,查看某个分支上的提交记录。同上,需要放到参数中的最后位置处。(注:如果分支名与文件名相同,系统会提示错误,可通过--选项来指定给定的参数是分支名还是文件名。)例:在当前分支中有一个名为v1的文件,同时还存在一个名为v1的分支,则:
git log v1 -- 此时的v1代表的是分支名字
git log -- v1 此时的v1代表的是文件名字
git log v1 -- v1
6、tagName或branchName 查询指定标签/分支中的提交记录
git log v1.0.. 查询从v1.0以后的提交历史记录(不包含v1.0)(在当前workcopy上的v1.0以后)
git log test..master 查询master分之中的提交记录但不包含test分支记录
git log master..test 查询master或test分之中的提交记录 试了,不生效啊git log test --not master 屏蔽master分支
7、根据commit查询日志
git log commit 查询commit之前的记录,包含commit
git log commit1 commit2 查询commit1与commit2之间的记录,包括commit1和commit2git log commit1..commit2 同上,但是不包含commit1
其中,commit可以是提交哈希值的简写模式,也可以使用HEAD代替。HEAD代表最后一次提交,HEAD^为最后一个提交的父提交,等同于DEAD~1,h
8、查看提交时的详细修改信息 -p
9、列出具体修改信息 --stat
10、列出每次提交影响的总行数 --shorstat
11、使用较短的相对时间显示 (比如,"2 weeks ago") --relative-date
12、在提交信息后显示修改的文件 --name-only
13、在提交信息后显示修改的文件 及其 操作类型 --name-status
查看我的提交历史记录
git log --author='guzhangyu' --pretty=format:"%cd %s" --name-status
查看指定分支上的提交历史记录
git log --pretty=format:"%cn %cr %s" storage_item --not master -- dmj-items-services-support/src/main/java/com/raycloud/dmj/services/stock/TradeStockService.java
自定义日志展示格式:
git config --global alias.logf "log --pretty=fortmat:\"%cr %cn %s\" --name-status"