1.查看历史记录git log

1)不加参数,显示的就是节点号,作者,日期,注释

commit b7b310d220628530d1feb9e8046ccb59039d59f2
Author: zhangshuli <zhangshuli@vanzotec.cn>
Date: Sat Feb :: + cherry-pick commit ac63f3e801e4022b34ba14ed9d1ae75b022ff067
Merge: 02906a1 618011f
Author: zhangshuli <zhangshuli@vanzotec.cn>
Date: Sat Feb :: + Merge branch 'third' into parent commit 02906a15dc15be5fefd5e41dcd3977bb2f762cff
Author: zhangshuli <zhangshuli@vanzotec.cn>
Date: Sat Feb :: + yahe commit 618011fc23e6fe8108e830e2812a298ad217d0cb
Author: zhangshuli <zhangshuli@vanzotec.cn>
Date: Sat Feb :: + commit ddd

2)如果想要查看版本代码差异,可以加参数p   git log -p

commit b7b310d220628530d1feb9e8046ccb59039d59f2
Author: zhangshuli <zhangshuli@vanzotec.cn>
Date: Sat Feb :: + cherry-pick diff --git a/aaa.txt b/aaa.txt
index 7b6d3c6..3de9291
--- a/aaa.txt
+++ b/aaa.txt
@@ -, +, @@
my second commit
add son
+cherry-pick commit ac63f3e801e4022b34ba14ed9d1ae75b022ff067
Merge: 02906a1 618011f
Author: zhangshuli <zhangshuli@vanzotec.cn>
Date: Sat Feb :: + Merge branch 'third' into parent commit 02906a15dc15be5fefd5e41dcd3977bb2f762cff
Author: zhangshuli <zhangshuli@vanzotec.cn>
Date: Sat Feb :: + yahe diff --git a/ccc.txt b/ccc.txt
new file mode
index ..b2a7546
--- /dev/null
+++ b/ccc.txt
@@ -, + @@
+ccc
diff --git a/ddd.txt b/ddd.txt
new file mode
index ..1d60b70
--- /dev/null
+++ b/ddd.txt
@@ -, + @@
+ddd

3)从开始到指定节点的历史记录 git log number

zhangshuli@zhangshuli-MS-:~/myGit$ git log -p 618011fc23e6fe8108e830e2812a298ad217d0cb
commit 618011fc23e6fe8108e830e2812a298ad217d0cb
Author: zhangshuli <zhangshuli@vanzotec.cn>
Date: Sat Feb :: + commit ddd diff --git a/ddd.txt b/ddd.txt
new file mode
index ..1d60b70
--- /dev/null
+++ b/ddd.txt
@@ -, + @@
+ddd commit 6a74382c9c481515cd70136ce3212ace7aa1c50e
Author: zhangshuli <zhangshuli@vanzotec.cn>
Date: Sat Feb :: + commit ccc.txt diff --git a/ccc.txt b/ccc.txt
new file mode
index ..b2a7546
--- /dev/null
+++ b/ccc.txt
@@ -, + @@
+ccc

4)查找制定范围历史记录

git log number1..number2(两个节点的历史记录,不包括前节点,包括后节点)

zhangshuli@zhangshuli-MS-:~/myGit$ git log -
commit b7b310d220628530d1feb9e8046ccb59039d59f2
Author: zhangshuli <zhangshuli@vanzotec.cn>
Date: Sat Feb :: + cherry-pick commit ac63f3e801e4022b34ba14ed9d1ae75b022ff067
Merge: 02906a1 618011f
Author: zhangshuli <zhangshuli@vanzotec.cn>
Date: Sat Feb :: + Merge branch 'third' into parent
zhangshuli@zhangshuli-MS-:~/myGit$ git log ac63f3e801e4022b34ba14ed9d1ae75b022ff067..
commit b7b310d220628530d1feb9e8046ccb59039d59f2
Author: zhangshuli <zhangshuli@vanzotec.cn>
Date: Sat Feb :: + cherry-pick
zhangshuli@zhangshuli-MS-:~/myGit$

git log --since="5 hours"(支持的参数有 "2 minute" "2008-10-01" ,--before的用法也是如此)

zhangshuli@zhangshuli-MS-:~/myGit$ git log --since="2 minute"
zhangshuli@zhangshuli-MS-:~/myGit$ git log --since="2 hours"
commit b7b310d220628530d1feb9e8046ccb59039d59f2
Author: zhangshuli <zhangshuli@vanzotec.cn>
Date: Sat Feb :: + cherry-pick commit ac63f3e801e4022b34ba14ed9d1ae75b022ff067
Merge: 02906a1 618011f
Author: zhangshuli <zhangshuli@vanzotec.cn>
Date: Sat Feb :: + Merge branch 'third' into parent commit 02906a15dc15be5fefd5e41dcd3977bb2f762cff
Author: zhangshuli <zhangshuli@vanzotec.cn>
Date: Sat Feb :: + yahe commit 618011fc23e6fe8108e830e2812a298ad217d0cb
Author: zhangshuli <zhangshuli@vanzotec.cn>
Date: Sat Feb :: + commit ddd commit 6a74382c9c481515cd70136ce3212ace7aa1c50e
Author: zhangshuli <zhangshuli@vanzotec.cn>
Date: Sat Feb :: + commit ccc.txt commit 2a30fca479f7a953d9348067670f292780d49515
Author: zhangshuli <zhangshuli@vanzotec.cn>
Date: Sat Feb :: + change
zhangshuli@zhangshuli-MS-:~/myGit$

5)设定显示格式

git log --pretty=format:"%h %s" 1.0..HEAD

git log --pretty=oneline

zhangshuli@zhangshuli-MS-:~/myGit$ git log --pretty=format:"%h %s"
b7b310d cherry-pick
ac63f3e Merge branch 'third' into parent
02906a1 yahe
618011f commit ddd
6a74382 commit ccc.txt
2a30fca change
44d288e Merge branch 'thrid' into parent
6436f0b merge
ece2e62 tar zip
e2e09c4 son rebase
3a1cbb4 ccc add
5ad0d1e parent test
abbb929 branch test
2e32a61 master add
f73968d my second commit
4c7cede my frist commit
zhangshuli@zhangshuli-MS-:~/myGit$ git log --pretty=oneline
b7b310d220628530d1feb9e8046ccb59039d59f2 cherry-pick
ac63f3e801e4022b34ba14ed9d1ae75b022ff067 Merge branch 'third' into parent
02906a15dc15be5fefd5e41dcd3977bb2f762cff yahe
618011fc23e6fe8108e830e2812a298ad217d0cb commit ddd
6a74382c9c481515cd70136ce3212ace7aa1c50e commit ccc.txt
2a30fca479f7a953d9348067670f292780d49515 change
44d288e4316e47ac9b6e3ee6a4152aceff5d17ce Merge branch 'thrid' into parent
6436f0b6bbe0da18ce65e90dd7ea90cf4008bbe3 merge
ece2e62de24d0262c9cb70a59aeb7f2764316225 tar zip
e2e09c4898f9246b1d0fab2dc6845506f5960742 son rebase
3a1cbb43f8d1bd5224529122b15fd1fcf682b60d ccc add
5ad0d1ece9b7fd69a9e4deb990c8a4d05d2cbee1 parent test
abbb92978273479688bda512ba5e7d78b1dbf803 branch test
2e32a615216de70720d314b8fe53c1bddccfd6a3 master add
f73968df521e48d23289c5563f7ac7fbc5937b57 my second commit
4c7cede87be37783ca4528fbdcd79bc08e3870fe my frist commit
zhangshuli@zhangshuli-MS-:~/myGit$

6)根据作者提交来查询 git log --author=huangfukun

这个搜索的是关键字,你用kern也能搜到相同的结果,如下

zhangshuli@zhangshuli-MS-:~/PROJECT/PROJECT_V5/32_kk_qhd_k25/packages/apps/Mms$ git log --author=huangfukun
commit f47dfc31da7a676c53332a79bbb35ec402c550e2
Author: Kern <huangfukun@vanzotec.com>
Date: Thu Nov :: + merge Fun UI from platform_kk_95_ds Change-Id: Iabc3762bb332a75f5f6a5612295e77a4ca4851a0
zhangshuli@zhangshuli-MS-:~/PROJECT/PROJECT_V5/32_kk_qhd_k25/packages/apps/Mms$ git log --author=kern
zhangshuli@zhangshuli-MS-:~/PROJECT/PROJECT_V5/32_kk_qhd_k25/packages/apps/Mms$ git log --author=Kern
commit f47dfc31da7a676c53332a79bbb35ec402c550e2
Author: Kern <huangfukun@vanzotec.com>
Date: Thu Nov :: + merge Fun UI from platform_kk_95_ds Change-Id: Iabc3762bb332a75f5f6a5612295e77a4ca4851a0
zhangshuli@zhangshuli-MS-:~/PROJECT/PROJECT_V5/32_kk_qhd_k25/packages/apps/Mms$ git log --since="2014-12-13"
commit 50a7ca4c3c002670983c0c54e3d86ef1a43a1a9b
Merge: ebcc95e 60e5ceb
Author: scm2 <scm2@vanzotec.com>
Date: Sat Dec :: + Merge remote-tracking branch 'remotes/origin/vtrunk' into HEAD commit 60e5ceb4615e2b227b723123a1e16dab95af351a
Author: tanglei <tanglei@vanzotec.com>
Date: Thu Dec :: + implement #, wakeup screen when receive mms Change-Id: Ie459687e5460b05625f7b3389f98684190e72a17 commit ebcc95e8d3c8e1cb0d14570cc7eb7791cbb7aef9
Merge: f47dfc3 68397e8
Author: scm2 <scm2@vanzotec.com>
Date: Tue Dec :: + Merge remote-tracking branch 'remotes/origin/vtrunk' into HEAD commit 68397e8b8f7149d81f270e6a6ca3dbe72fffa80b
Merge: 5c238f7 05bed8e
Author: scm2 <scm2@vanzotec.com>
Date: Tue Dec :: + Merge remote-tracking branch 'remotes/origin/master' into HEAD
zhangshuli@zhangshuli-MS-:~/PROJECT/PROJECT_V5/32_kk_qhd_k25/packages/apps/Mms$

另外,有两个符号需要说明下

^:这个表示的是回溯,如HEAD^指得就是当前版本的前一个版本,HEAD^^(=HEAD^2)

~: 跟^ 的用法类似

不过,不知道为什么如下的方法不正确

zhangshuli@zhangshuli-MS-:~/myGit$ git diff --stat HEAD~
aaa.txt | +
ccc.txt | -
ddd.txt | +-
merge.txt | -
mysite-1.0.tar.gz | Bin -> bytes
mysite-1.0.zip | Bin -> bytes
files changed, insertions(+), deletions(-)
zhangshuli@zhangshuli-MS-:~/myGit$ git diff --stat HEAD^
fatal: ambiguous argument 'HEAD^3': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions
zhangshuli@zhangshuli-MS-:~/myGit$

git diff --stat number:用来查看 版本的详细差异(包括具体更改的文件)

git blame 文件名:查看对这个文件作出更改的历史记录

zhangshuli@zhangshuli-MS-:~/myGit$ git blame aaa.txt
f73968df (zhangshuli -- :: + ) my second commit
e2e09c48 (zhangshuli -- :: + ) add son
b7b310d2 (zhangshuli -- :: + ) cherry-pick
f73968df (zhangshuli -- :: + )
zhangshuli@zhangshuli-MS-:~/myGit$

当然,它也可以添加参数,如

git blame -L number1 ,number2 filename

zhangshuli@zhangshuli-MS-:~/myGit$ git blame -L , aaa.txt
f73968df (zhangshuli -- :: + ) my second commit
e2e09c48 (zhangshuli -- :: + ) add son
zhangshuli@zhangshuli-MS-:~/myGit$

git 工具的使用总结(5)-查看历史记录的更多相关文章

  1. 版本控制工具Git工具快速入门-Linux篇

    版本控制工具Git工具快速入门-Linux篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.版本管理系统的介绍 1>.版本管理系统的特点 1.1>.自动生成备份: ...

  2. Git详解之六 Git工具(转)

    Git 工具 现在,你已经学习了管理或者维护 Git 仓库,实现代码控制所需的大多数日常命令和工作流程.你已经完成了跟踪和提交文件的基本任务,并且发挥了暂存区和轻量级的特性分支及合并的威力. 接下来你 ...

  3. Git详解之六:Git工具

    Git 工具 现在,你已经学习了管理或者维护 Git 仓库,实现代码控制所需的大多数日常命令和工作流程.你已经完成了跟踪和提交文件的基本任务,并且发挥了暂存区和轻量级的特性分支及合并的威力.(伯乐在线 ...

  4. Git工具使用

    GIT(分布式版本控制系统) Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目.Git的读音为/gɪt/. Git是一个开源的分布式版本控制系统,可以有效.高速的处理从 ...

  5. 版本控制工具Git工具快速入门-Windows篇

    版本控制工具Git工具快速入门-Windows篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 最近在学习Golang语言,之前的开发环境在linux上开发的,后来由于办公用的是w ...

  6. Git详解之六 Git工具

    以下内容转载自:http://www.open-open.com/lib/view/open1328070367499.html Git 工具 现在,你已经学习了管理或者维护 Git 仓库,实现代码控 ...

  7. Git工具的使用教程

    Git 是一种版本控制工具,也叫作版本管理软件(分布式管理软件).这里介绍Git的基本使用步骤,关于 Git 更详细的介绍,读者可以参考其官方网站提供的文档. 1  安装Git 在Ubuntu系统中安 ...

  8. 使用git工具快速push项目到github(精简)

    Dear Weber ,相信有很多刚开始接触前端的程序猿,在刚接触到git工具传项目到github上时会遇到一些问题,那么下面的话呢,我就整理一下一个大致的思路提供给大家参考: 工具:git (自行下 ...

  9. 使用VSTS的Git进行版本控制(三)——评审历史记录

    使用VSTS的Git进行版本控制(三)--评审历史记录 Git使用存储在每个提交中的父引用信息来管理开发的完整历史记录.评审该提交历史记录,能够找出文件更改的时间,并确定代码版本之间的差异. Git使 ...

随机推荐

  1. HDU 4941 Magical Forest (Hash)

    这个题比赛的时候是乱搞的,比赛结束之后学长说是映射+hash才恍然大悟.因此决定好好学一下hash. 题意: M*N的格子,里面有一些格子里面有一个值. 有三种操作: 1.交换两行的值. 2.交换两列 ...

  2. 一个最不可思议的MySQL死锁分析

    1    死锁问题背景    1 1.1    一个不可思议的死锁    1 1.1.1    初步分析    3 1.2    如何阅读死锁日志    3 2    死锁原因深入剖析    4 2. ...

  3. 二 HTable 源码导读

    户端调优的方法里面无非就这么几种:1)关闭autoFlush2)关闭WAL日志3)把writeBufferSize设大一点,一般说是设置成5MB        经过实践,就第二条关闭日志的效果比较明显 ...

  4. 学习笔记 Java_静态_继承 2014.7.12

    一.静态 1.构造函数:       特点:       1. 函数名和类名同样.       2. 不用定义返回值类型(和void不是一回事,而构造函数是根本不用定义返回值类型).       3. ...

  5. 荣耀A55高调上市仅仅为孤独求败?

        坦白说.华为近年来在手机市场上确实取得了一些成绩.比方之前P6的出现就凭借超薄的设计.突出的性价比让大家看到了国产手机的新希望.按理说.在手机市场上尝到甜头的华为应该继续坚持低价.亲民的路线, ...

  6. Mysql Workbench初体验

    可以画图,建立表关系. 分类整理数据表. 可以直接导出sql语句. 可以导出png图片. 可以连接mysql数据库. 基本满足了各项需求. 这次初体验只是基本的功能,这个软件对于mysql还是很牛的.

  7. Python(十二) Pythonic与Python杂记

    一.导言 二.用字典映射代替switch case语句   # 字典代替 switch 语句 # switch () # { # case 0 : # dayName= 'a'; # break; # ...

  8. 今日SGU 5.14

    //SGU 131 还没完全想清楚 留坑 SGU 259 题意:一个机器处理n个任务,每个任务有时间t和传送时间l 收获:贪心 #include<bits/stdc++.h> #defin ...

  9. CSUOJ 1551 Longest Increasing Subsequence Again

    1551: Longest Increasing Subsequence Again Time Limit: 2 Sec  Memory Limit: 256 MBSubmit: 75  Solved ...

  10. HttpComponents入门解析

    1 简介 超文本传输协议(http)是目前互联网上极其普遍的传输协议,它为构建功能丰富,绚丽多彩的网页提供了强大的支持.构建一个网站,通常无需直接操作http协议,目前流行的WEB框架已经透明的将这些 ...