git查看日志

摘要:
我个人认为这个命令很好。为了使用它,我最好使用一个别名:$gitconfig。logs“log--fit=格式:'%h-%an,%ar:%s'”$gitconfig。logslog--fit=format:“%h-%an,%ar:%s”$gitlogsgitlog--fit=oneline仅显示哈希值和提交说明。Gitlog--prety=oneline[path]显示指定的日期和关键字例如,作者两天前的提交历史:Gitlog--since=2.day如果作者指定为“BeginMan”,则所有提交:$Gitlog--author=“xxxx”如果关键字指定为“init”,则全部提交:$Gitlog--grep=init如果提交者指定为“Jack”,所有提交:$gitlog--committer=Jack注意作者和提交者之间的关系:作者是程序修改者,提交者是代码提交者。gitlog命令支持的选项-p以补丁格式显示每个更新之间的差异。
git查看日志

git log -n
显示前N条记录

git log -3

退出log命令
直接输入: q

git log --stat -n
显示提交的文件的简要的修改统计

$ git log --stat -2
commit d0b9a20fac8abc7517c5a04c0fbb1d488f309bf5
Author: BeginMan <pythonsuper@gmail.com>
Date:   Sat Mar 1 23:26:43 2014 +0800

    ok

 _posts/2014-02-27-Customizing-Git.md | 5 +++++
 1 file changed, 5 insertions(+)

commit 8c186cd71492b7a3eae6df7de880b99efa0f87cf
Author: BeginMan <pythonsuper@gmail.com>
Date:   Sat Mar 1 23:26:10 2014 +0800

    mi

 _posts/2014-02-27-Customizing-Git.md | 56 +++++++++++++++++++++++++++++++++++-
 1 file changed, 55 insertions(+), 1 deletion(-)

git log -p -n
显示文件的详细改动
git查看日志第1张

git log --graph
简单的图形显示分支情况
git查看日志第2张

git log --pretty=format:" "

控制显示的记录格式,常用的格式占位符写法及其代表的意义如下:

选项 说明
%H 提交对象(commit)的完整哈希字串
%h 提交对象的简短哈希字串
%T 树对象(tree)的完整哈希字串
%t 树对象的简短哈希字串
%P 父对象(parent)的完整哈希字串
%p 父对象的简短哈希字串
%an 作者(author)的名字
%ae 作者的电子邮件地址
%ad 作者修订日期(可以用 -date= 选项定制格式)
%ar 作者修订日期,按多久以前的方式显示
%cn 提交者(committer)的名字
%ce 提交者的电子邮件地址
%cd 提交日期
%cr 提交日期,按多久以前的方式显示
%s 提交说明
如下操作:

$ git log --pretty=format:"%h -%an,%ar : %s" -3
d0b9a20 -BeginMan,24 hours ago : ok
8c186cd -BeginMan,24 hours ago : mi
b2a3100 -BeginMan,24 hours ago : what?

显示了前3条的信息,简单的哈希值,作者,提交时间,提交说明。

个人感觉这个命令挺好的,为了方面使用,还是做个别名吧:

$ git config alias.logs "log --pretty=format:'%h -%an,%ar:%s'"
$ git config alias.logs
log --pretty=format:'%h -%an,%ar:%s'
$ git logs

git log --pretty=oneline
一行显示,只显示哈希值和提交说明。

git log --pretty=oneline [path]
显示指定path(目录或文件)下的提交
git查看日志第3张

指定日期、关键字、作者

如两天前的提交历史:git log --since=2.days

如指定作者为"BeginMan"的所有提交:$ git log --author="xxxx"

如指定关键字为“init”的所有提交:$ git log --grep=init

如指定提交者为"Jack"的所有提交:$ git log --committer=Jack

注意作者与提交者的关系:作者是程序的修改者,提交者是代码提交人。

如指定2天前,作者为“BeginMan”的提交含有关键字'init'的前2条记录:$ git log --since=2.days --author=BeginMan --grep=init -2
上面选项后面的参数可以带单双引号

使用说明如下:

选项 说明

-(n) 仅显示最近的 n 条提交

--since, --after 仅显示指定时间之后的提交。

--until, --before 仅显示指定时间之前的提交。

--author 仅显示指定作者相关的提交。

--committer 仅显示指定提交者相关的提交。

git log 命令支持的选项

-p 按补丁格式显示每个更新之间的差异。

--stat 显示每次更新的文件修改统计信息。

--shortstat 只显示 --stat 中最后的行数修改添加移除统计。

--name-only 仅在提交信息后显示已修改的文件清单。

--name-status 显示新增、修改、删除的文件清单。

--abbrev-commit 仅显示 SHA-1 的前几个字符,而非所有的 40 个字符。

--relative-date 使用较短的相对时间显示(比如,“2 weeks ago”)。

--graph 显示 ASCII 图形表示的分支合并历史。

--pretty 使用其他格式显示历史提交信息。可用的选项包括 oneline,short,full,fuller 和 format(后跟指定格式)。

显示帮助

git log --help

参考:http://www.cnblogs.com/BeginMan/p/3577553.html

免责声明:文章转载自《git查看日志》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇JAVA-初步认识-第七章-static关键字-数据共享Docker rancher 部署下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

分布式代码管理系统GIT

1.1Git安装    CentOS上   yum install -y epel-release; yum install git    Ubuntu上    apt-get install git    Windows上安装msysgit    下载地址  https://git-for-windows.github.io     安装完成后,还需要最...

Git暂存流程

关于GIT代码 暂存问题的解决方案:(正在当前分支开发,想要切换到其他分支。不用手动把代码粘贴出来了~~~) 情况说明:如图,我在当前分支有一堆已修改但是未保存的文件。我现在想要切换其他分支,然后进行其他的工作开发。 第一步:点击CVS-Git-Stash Changes... 第二步:输入此次缓存内容的备注信息就OK。就暂存成功了。刚才的未提交的修改也已...

Git配置远程仓库(密匙链接)

Git配置远程仓库(密匙链接) 主机名 IP 备注 git01 192.168.200.31 git测试客户端一 git02 192.168.200.32 git测试客户端二 1.建立远程仓库 首先在浏览器中输入网址https://github.com #服务器创建密匙 [root@git01 ~]# ssh-keygen G...

常见的git清单

我们每天使用 Git ,但是很多命令记不住。 一般来说,日常使用只要记住下图6个命令,就可以了。但是熟练使用,恐怕要记住60~100个命令。 这篇文章是从别人博客上copy重新整理出来的,作为笔记用,记不得命令的时候可以随时拿出来查查。 下面是整理的常用 Git 命令清单。几个专用名词的译名如下。 Workspace:工作区 Index / Stage:...

git 强制拉取更新,本地修改

有新人加入项目时,改动一些方法,此时并不想提交,但是需要拉取最新的代码。有些人会删除本地的项目,重新clone的项目。虽然,这样能够完成更新项目的做法; 接下来介绍更加科学的做法: git fetch --allgit reset --hard origin/mastergit pullgit fetch 指令是下载远程仓库最新内容,不做合并git res...

【mysql】Innodb三大特性之adaptive hash index

1、Adaptive Hash Indexes 定义 If a table fits almost entirely in main memory, the fastest way to perform queries on it is to use hash indexes. InnoDB has a mechanism that monitors in...