查看提交的代码记录
介绍几个参数,并且结合重定向分析定位提交产生的问题
参数:
-n 显示距离当前时间点最近的N条
$git log -n 显示最近N条提交记录,提交者,hash值,说明注释,时间等信息
--since 从当前时间节点算起,向前推算n天全部的提交记录,也就是说最近n天的提交记录
$git log --since=2.days //最近两天的提交记录
--author 查找具体开发者的所有提交
$ git log --author=yanglin //查找yanglin的提交
--grep=xxx 查找含有关键字xxx的全部提交
$ git log --grep=init //使用grep 查找定位,含有init的全部提交
也可以是用 git log | grep "init" 查找含有init的全部提交
git与重定向结合使用非常奏效,结合tee指令(原文重定向)
查找最近n次的提交
$git log -n | tee > git_n_commit.log
查找开发人者:yanglin提交的代码
$git log --author=yanglin | tee > yanglin_commit.log
查找开发人者:yanglin最近10次的提交
$git log -10 --author=yanglin | tee > yanglin_n_commit.log
查找开发者:yanglin最近10天之内的提交
$git log --since=10.day --author=yanglin | tee >
yanglin_near_10day_commit.log
查看某个时间点以后的log
git log --since="Fri Aug 10 19:16:10 2012 +0800"
或者用--until 查看某个时间点以前的log
git log --before="Fri Aug 10 19:16:10 2012 +0800"
获取某个时间点以后的commit,-n 1 表示只返回一个,最近的一个
git rev-list -n 2 --since="Fri Aug 10 19:16:10 2012 +0800" yourbranch
获取某个时间点以前的commit,-n 1 表示只返回一个,最近的一个 youbranch 为对应的分支名
git rev-list -n 2 --before="Fri Aug 10 19:16:10 2012 +0800" yourbranch
同步某个时间点前的代码,可用于追溯验证问题
repo forall -c "git checkout `git rev-list -n 1 --before=\"Fri Jun 29 15:53:40
2012 +0800\" yourbranch`"