git log --oneline 将每次提交的记录汇总成一行,默认情况下会展示commit的id和commit信息的第一行
decorate会显示每次commit对象的相关信息
eg:
0e25143 (HEAD, master) Merge branch 'feature'
ad8621a (feature) Fix a bug in the feature
16b36c6 Add a new feature
23ad9ad (tag: v0.9) Add the initial code base
从上面的输出可以看出,第一个commit是master分支的最后一条提交(HEAD)。第二条commit有一个叫feature的分支也指向了它。第4条commit被打上了v0.9的标签。
git log --stat 会显示在每次提交中,每个文件假如和删除的行数
git log -p 显示更详细的改动信息,若只想显示某一个提交的信息,可以git log -p commitid
若包含了大量的改动信息,可以使用--pickaxe参数
git shortlog 将每个开发者提交的信息进行汇总,显示的是提交的时候的commit备注信息
Mary (2):
Fix a bug in the feature
Fix a serious security hole in our framework
John (3):
Add the initial code base
Add a new feature
Merge branch 'feature'
--graph 根据提交历史汇出图像
git log --graph --oneline --decorate
git log -n 显示最近n条提交历史
git log --after="2017-3-1" 只显示3月1号之后的提交,可以使用yesterday等相对时间概念
git log --after="2017-3-1" --before="2017-4-1" 显示3月1号到4月1号之间的提交
git log --author="nj" 只显示某个作者的提交
git log --filename 显示这个文件的提交历史
git log -S "Hello,World" 想知道某一段代码是何时加入的
git log master..feature 显示所有不在feature上的master分支的commit
git log --no-merges 过滤掉所有的merge信息
git log --merges 值显示merge信息