更好的git Log

git log对于使用git的”码农们”一定非常熟悉,如:

git log 命令是查看全部提交日志

git log -2 查看最近2次的提交日志

git log -p 查看历史纪录以来哪几行被修改

git log –oneline 查看历史提交日志,单行显示

以上是我们经常使用过的命令,接下来将谈谈如何更好的使用git log来解决使用过程中遇到的需求:(大家有木有遇到呢…)

提交历史搜索

git log --author="<pattern>"

根据提交作者,搜索提交历史 pattern 可以是字符串或这则表达式

git log --grep="<pattern>"

搜索提交历史 同上pattern 可以是字符串或这则表达式

更清楚的显示单行提交历史

git log --pretty=online 显示如下:

git log --pretty=online

如何图形化显示更清晰的提交历史呢?

git log --graph --decorate --pretty=oneline --abbrev-commit --all

git log lola

能不能再清楚点呢?比如:显示提交时间、作者…..当然可以啦

git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit

git log lola

是不是漂亮了很多,每次打完包我们都回写下change log, 之前每次都是根据git log 复制后编辑,汗…这体力活,有了上面的命令轻松修改下:

git log --pretty=format:'%s %C(bold blue)(%an)%Creset' --abbrev-commit

git log lola

上面的命令这么长,每次敲岂不累死(前提是要记得住,哈哈)我们可以使用linux 下的 alias,详见:http://en.wikipedia.org/wiki/Alias_(command)

git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

现在你每次在终端输入git lg 就可以啦. 关于git 别名,可以参见:

让Git命令更简单(Git alias)

参考链接