git日志--log

1. 查找改动某个文件所有的日志

git log --pretty=oneline somefile.java
git log --oneline somefile.java
git log --pretty=format:"%h  %an,%cd : %s" somefile.java

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,%cd : %s"

3.指定日期、关键字、作者

--since, --after              仅显示指定时间之后的提交。              git log --since=2.days

--until, --before             仅显示指定时间之前的提交。              git log --until=10.days

--author                      仅显示指定作者相关的提交。              git log --author=BeginMan

--committer                   仅显示指定提交者相关的提交。             git log --committer=Jack

--grep                        仅显示指定关键字的提交。                git log --grep=init

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

如指定2天前,作者为“BeginMan”的提交含有关键字‘init‘的前2条记录:$ git log --since=2.days --author=BeginMan --grep=init -2

注意:上面选项后面的参数可以带单双引号,如--author="BeginMan"

4. 显示修改的文件

--name-only                       仅在提交信息后显示已修改的文件清单
--name-status                     显示新增、修改、删除的文件清单
git log --name-only
git log --name-only --oneline

git log --name-status
git log --name-status --oneline

5. 显示日志统计信息

--stat                     显示每次更新的文件修改统计信息,也显示更新的文件名和修改的多少。

--shortstat                只显示 --stat 中最后的行数修改添加的统计。不显示更新的文件名。
git log --stat
git log --stat --oneline

git log --shortstat
git log --shortstat --oneline

6. 显示单次日志信息

git show [commit id]
git show [commit id] --name-only
git show [commit id] --name-only --oneline
git show [commit id] --name-status
git show [commit id] --stat
git show [commit id] --shortstat
时间: 2024-08-14 08:20:43

git日志--log的相关文章

从code review到Git commit log

最近在读一本技术类的书:朱赟--<跃迁:从技术到管理的硅谷路径>,其中聊了很多很有趣的观点,比如:技术管理.技术实践.硅谷文化.个人成长等. 读到关于硅谷人如何做code review这一篇时,不由想到了前段时间看过的一篇博客:如何写好Git commit log. 之前的工作用Git做版本管理工具,因此每次提交改动时都会写注释,其中也踩了一些坑,现在回想起来还是觉得很有收获. 这篇博客,聊聊我个人关于code review和Git commit的一些认知和资料总结,仅供参考... 参考资料:

C++、Java、JavaScript中的日志(log)

编程思想之日志记录 什么是log? 相信你一定用日记写过点滴心事,或是用空间.微信.微博刷着动态,记录你每天的喜怒哀乐!在程序中也有一种类似的东西,记录着他主人(应用程序)每天的行踪,他叫日志(log).日记--是人类生活的记事本,日志(log)--是程序运行状况的记事本. 顾名思义,日志(log,后面均以log称之)就是用来记录程序每天的运行状况的,比如程序出现异常的情况,或是某个关键点,功某个重要的数据或交易等.这里的每天不是说每天一记,可以是伴随着程序运行的始终,只要程序在运行着就一直在记

一件关于数据库日志log的无聊事情

为何说是无聊的记录呢? 因为事先把问题想复杂了,事后发现的时候觉得更是无聊的行为.还是写下来,毕竟很少弄这么无聊的事情. 事情起因是需要给服务器做性能基数(baseline),用sqldiag 提取了大量的log信息,当然这里的数据库日志并不是指ldf文件.当我打开SQL 2005或2008的对象资源管理器-->管理-->SQL Server 日志察看发现日志大约有百万行,当然原因我就不说了. 日志log数据太大怎么办? 先查看日志log如何被调用的,在TSQL中执行 [python] vie

cocos2d-js 写日志log 查看日志log Android调试查看log

1 输出日志的方式,当然是cc.log了 2 如何查看日志?        a)如果小程序可以先在浏览器上跑,例如用chrome,在控制台就可以看到输出的log:        b)如果在真机上调试,就需要用log工具了.Android上使用logcat.   3 Android调试使用logcat的办法 logcat位置:Android SDK目录中 D:\AndroidDevelopTools\sdk\platform-tools 查看步骤: 连接手机 cmd方式打开logcat:adb.e

版本管理&#183;玩转git(日志查看与版本切换)

如果你想更清晰地学习git,你必须要了解3个重要区域. 工作区:即开发者的工作目录 暂存区:修改已被记录,但尚未录入版本库的区域 版本库:存储变化日志及版本信息 当你在工作区进行开发工作时,git会记录你的改动,此时,你使用git add指令,该工作区的内容会被加入到暂存区,你仍然可以对你提交的文件进行撤回操作,然后你使用git commit指令,暂存区的内容会被提交到版本库. 每个文件/目录发生的版本变化,我们都可以追溯,命令为 git log 常用格式: git log 查看项目的日志 gi

EBS 11i 日志 log

1.默认网络端口: 1).EBS11i 用到的所有端口 s_dbport=1521 s_webport=8000 s_webport_pls=8200 s_oprocmgr_port=8100 s_formsport=9000 s_metdataport=9100 s_metreqport=9200 s_forms_servlet_portrange=18000-18009 s_rpcport=1626 s_repsport=7000 s_servletport=8800 s_jtfuf_por

通过 rsync 做日志log备份

1.拓扑如下: 2.通过rsync日志备份 1>ssh 免密钥登陆 确定发起方,从log-back-server_10.1.1.1 为中心发起方.因此,要实现从log-server到各主机之前的 免密登陆.在log-server 主机上,cd ~ && ssh-keygen -t rsa ,全部按空格结束.ls一下 将id_rsa.pub 全部传到其它主机上面. [[email protected] ~]# scp -p ~/.ssh/id_rsa.pub [email protec

git日志输出格式及两个版本之间差异列表

查看commit id git log --pretty=format:"%h" git log --pretty=format:"%H" 获取两个版本间差异的文件列表(最好是通过git log --pretty=format:"%H",获取完整的commit id,否则linux下有可能报错.) git diff e83228e d9878b88 --name-only 当前版本id git rev-parse HEAD 带目录结构复制文件 c

稍微成型点的用WEBSOCKET实现的实时日志LOG输出

难的是还是就地用JS显示出来相关的发布进度. 还好,花了一下午实现了. 可以移植到项目中去罗... websocket.py: import tornado.ioloop import tornado.web import tornado.websocket from tornado.ioloop import IOLoop from datetime import timedelta import time import os import sys import tornado.httpser