git(6)查询git历史记录(一)
来源:互联网 发布:开源商城 java 编辑:程序博客网 时间:2024/05/22 01:54
git(6)查询git历史记录(一)
对历史的记录和管理是版本管理系统的关键功能,在git中,添加新文件或修改已有文件,都会以提交为单位记录下来,形成历史。
我们还使用前面文章中使用的例子,当然你也可以直接从版本库中拷贝
git clone git://github.com/tswicegood/mysite-chp5.git
1.查看git日志
查看提交日志是查看版本库历史记录最常用的方法,git可以显示提交的日志项,包括是谁,何时做的提交,以及本次提交的具体代码大改动等信息。
进入工作目录树
git log
如果日志输出超过单屏大小,git则会显示部分输出结果,你可以上下滚动浏览日志。屏幕底部出现冒号“:”,表示还有更多信息等待。
在不带参数的git log命令的输出中,每个提交有4部分信息:提交名称,提交人,提交日期,提交留言,前三项内容在前三行显示,第四项内容可能显示多行,接着是下一个提交信息。
在git log命令后添加-p选项,git可以显示版本之间的代码差异。
git log -p
git log命令后输出参数-1,只显示一条提交日志,输入参数-2显示两条,以此类推。
也可以给git log命令传递一个指定的版本,并以此作为查看日志的起始点:
git log 7b1558c
注意上面例子中使用的是提交的名称缩写,即40为提交名称的前7位字符。
2.指定查找范围
git提供了若干有效的方法来指定查找范围,例如只想查看最近5小时内的提交,可以在git log命令后添加–since=”5 hours”:
git log –since=”5 hours”
同样,也可以通过添加–before=”5 hours” -1来查看5小时之前的最后一个提交:
git log –before=”5 hours” –1
since和before参数接受大多数英文格式日期,git工具本身能够识别诸如–since=”30 hours”,–since=”1 minute”,–before=”2011-10.02″这样格式的日期,哪怕日期中间既有连字符也有句点。
也可以指定两个版本,用“最老版本..最新版本”这种格式作为查找范围,最老版本在前,最新版本在后:
git log 18f822e..0bb3dfb
在git世界里,输入的版本范围的含义是12f822e之后的提交开始显示日志(不包括起点,只包括终点)。
设定版本及版本范围时,HEAD代表版本库里当前分支末梢的最新版本,例如:
git log 18f822e..HEAD
也可以不输入HEAD参数,因为git假定“..”后面省略的值为HEAD。
当指定查找范围时,也可以用标签名称替换提交名称,这对于查看某一特定标签之后的修改,以及查看某两个标签之间的历史都是有用的;
git log –pretty=format:”%h %s” 1.0..HEAD
这次在git log命令后添加了参数–pretty,format:”%h %s”告诉git显示提交名称的缩写,以及提交留言的第一行,及标题。
另一个更常见的用法–pretty=oneline,但是这个输出格式太宽了。在git log的命令手册中还列出了各种各样的格式可供参考。可以输入如下命令参考
git help log
如果指定了范围git log命令没有输出任何结果,则需要检查输入范围是否有效。
令一种指定版本的常见方法是指出它和另一版本的关系,此时有两种操作符可供使用:
^:一个脱字号相当于回溯一个版本。18f822e^是指18f822e之前的那个版本。18f822e^^是指18f822e之前版本的之前版本,以此类推。在windows系统下,如果版本中带有脱字号,则版本须添加双引号。
*~N:波浪字符加数字的操作浮是指回溯N个版本,18f822e~1是指18f822e的父节点,18f822e是指其祖父节点。
可以混合使用这两种操作符,一下三种命令输出一样:
git log –1 HEAD^^^
git log –1 HEAD^~2
git log –1 HEAD~3
也可以在早前提到的查找范围里使用带有脱字号或波浪字符的命令,如下所示:
git log HEAD~10..HEAD
如上所示,当指定的版本不存在时,会得到未知版本的报错信息。
- git(6)查询git历史记录(一)
- git(6)查询git历史记录(二)
- git(6)查询git历史记录(三)
- git(6)查询git历史记录(二)
- Git(五):查询Git历史记录
- 修改git 所有历史记录
- Git---查看提交历史记录
- Git 提交历史记录
- 暴强的命令行git提交历史记录查询
- git代码查询部分(一)
- git回退历史记录总结
- Git 文件的修改提交与历史记录查看(02)
- bfg.jar(清除 GIT commit 所有历史记录)
- 你无法修改 Git 的历史记录
- Git仓库完整迁移 含历史记录
- git学习【7】历史记录相关操作
- git清除历史记录 并创建新项目
- Git如何永久删除文件(包括历史记录)
- ZOJ Problem Set - 1760 Doubles
- TVS管的选用原则
- 《js—基本方法--01》
- git的使用(5)理解和使用分支
- 移动网站设计的7个误区
- git(6)查询git历史记录(一)
- 标准的产品设计工作流程
- jQuery中得到所有name为xxx开头的input的 | jQuery 事件 - delegate() (可用于未来的元素)
- 如果避免孩子变得自私呢?
- Delphi做多国语言
- git(6)查询git历史记录(二)
- 调用非.net系统的Webservice的探索 ( 三 ) -WCF
- WPF之Button控件应用
- Hadoop是什么