你可以看到项目的历史记录——谁贡献了什么、bug 是什么时候引入的,还可以撤回有问题的更改.
git log 有两个高级用法:一是自定义提交的输出格式,二是过滤输出哪些提交.
格式化 Log 输出
#只显示提交ID和提交信息的第一行
git log --oneline
#知道每个提交关联的分支或者标签
git log --oneline --decorate
Diff
文件名后面 +
和 -
的数量是这个提交造成的更改中增删的相对比例.
#--stat 选项显示每次提交的文件增删数量
git log --stat
# -p 如果你想知道每次提交删改的绝对数量
git log -p
Shortlog
#它把每个提交按作者分类,显示提交信息的第一行。这样可以容易地看到谁做了什么。
git shortlog
默认情况下,git shortlog 把输出按作者名字排序,但你可以传入 -n 选项来按每个作者提交数量排序。
Graph
#--graph 选项绘制一个 ASCII 图像来展示提交历史的分支结构
#星号表明这个提交所在的分支
git log --graph --oneline --decorate
按内容
#当你想要知道 Hello, World! 字符串是什么时候加到项目中哪个文件中去的
git log -S "Hello, World!"
按范围
#master..feature 范围包含了在 feature 分支而不在 master 分支中所有的提交
git log master..feature