git blame

         git blame 显示该文件的修改,以及作者上次修改文件的内容。不会告诉你文件中被删除以及替换的内容,要详细的知道还需要配合git diff的使用。
首先我一个test git库中创建了aa文件,并进行了三次commiit,和只属于工作目录的修改。我来使用git blame看一下。
$git blame aa
^2cae297 (camille          2013-06-02 17:56:14 +0800  1) The beginning is to learn git blame
^2cae297 (camille          2013-06-02 17:56:14 +0800  2) the second to add some difference.
^2cae297 (camille          2013-06-02 17:56:14 +0800  3) ok, let's go ,you can do it !
aba91773 (camille          2013-06-02 17:58:26 +0800  4)
aba91773 (camille          2013-06-02 17:58:26 +0800  5)
aba91773 (camille          2013-06-02 17:58:26 +0800  6)
aba91773 (camille          2013-06-02 17:58:26 +0800  7) After first commit ,I want to add some charater to test git blame
9db59f5a (camille          2013-06-02 18:09:21 +0800  8)
9db59f5a (camille          2013-06-02 18:09:21 +0800  9)
9db59f5a (camille          2013-06-02 18:09:21 +0800 10)
9db59f5a (camille          2013-06-02 18:09:21 +0800 11) This is the third commit ,for testing -b option
00000000 (Not Committed Yet 2013-06-02 18:25:21 +0800 12)
00000000 (Not Committed Yet 2013-06-02 18:25:21 +0800 13)
00000000 (Not Committed Yet 2013-06-02 18:25:21 +0800 14) this is the change of work directory.
使用--show-stats参数显示改动外,在最后还会输出你当前git work的统计数据。
$git blame --show-stats aa   
^2cae297 (camille          2013-06-02 17:56:14 +0800  1) The beginning is to learn git blame
^2cae297 (camille          2013-06-02 17:56:14 +0800  2) the second to add some difference.
^2cae297 (camille          2013-06-02 17:56:14 +0800  3) ok, let's go ,you can do it !
aba91773 (camille          2013-06-02 17:58:26 +0800  4)
aba91773 (camille          2013-06-02 17:58:26 +0800  5)
aba91773 (camille          2013-06-02 17:58:26 +0800  6)
aba91773 (camille          2013-06-02 17:58:26 +0800  7) After first commit ,I want to add some charater to test git blame
9db59f5a (camille          2013-06-02 18:09:21 +0800  8)
9db59f5a (camille          2013-06-02 18:09:21 +0800  9)
9db59f5a (camille          2013-06-02 18:09:21 +0800 10)
9db59f5a (camille          2013-06-02 18:09:21 +0800 11) This is the third commit ,for testing -b option
00000000 (Not Committed Yet 2013-06-02 18:25:21 +0800 12)
00000000 (Not Committed Yet 2013-06-02 18:25:21 +0800 13)
00000000 (Not Committed Yet 2013-06-02 18:25:21 +0800 14) this is the change of work directory.
num read blob: 6
num get patch: 3
num commits: 3
-f/--show-name  参数会显示出文件的原始名称 -n/--show-number 显示文件的行数
$git blame -f -n aa
^2cae297 aa  1 (camille          2013-06-02 17:56:14 +0800  1) The beginning is to learn git blame
^2cae297 aa  2 (camille          2013-06-02 17:56:14 +0800  2) the second to add some difference.
^2cae297 aa  3 (camille          2013-06-02 17:56:14 +0800  3) ok, let's go ,you can do it !
aba91773 aa  4 (camille          2013-06-02 17:58:26 +0800  4)
aba91773 aa  5 (camille          2013-06-02 17:58:26 +0800  5)
aba91773 aa  6 (camille          2013-06-02 17:58:26 +0800  6)
aba91773 aa  7 (camille          2013-06-02 17:58:26 +0800  7) After first commit ,I want to add some charater to test git blame
9db59f5a aa  8 (camille          2013-06-02 18:09:21 +0800  8)
9db59f5a aa  9 (camille          2013-06-02 18:09:21 +0800  9)
9db59f5a aa 10 (camille          2013-06-02 18:09:21 +0800 10)
9db59f5a aa 11 (camille          2013-06-02 18:09:21 +0800 11) This is the third commit ,for testing -b option
00000000 aa 12 (Not Committed Yet 2013-06-02 18:40:38 +0800 12)
00000000 aa 13 (Not Committed Yet 2013-06-02 18:40:38 +0800 13)
00000000 aa 14 (Not Committed Yet 2013-06-02 18:40:38 +0800 14) this is the change of work directory.
-p/--porcelain 该参数让输出以系统消耗的形式体现。
$git blame -p aa
author camille
author-mail <camille8707@163.com>
author-time 1370166974
author-tz +0800
committer camille
committer-mail <camille8707@163.com>
committer-time 1370166974
committer-tz +0800
summary add the firse file aa
boundary
filename aa
        The beginning is to learn git blame
2cae29731f13611e7ddba68ae444f37d45b8b979 2 2
        the second to add some difference.
2cae29731f13611e7ddba68ae444f37d45b8b979 3 3
        ok, let's go ,you can do it !
aba917735c7034255d6f340bd0ad384b1c7365ab 4 4 4
author camille
author-mail <camille8707@163.com>
author-time 1370167106
author-tz +0800
committer camille
committer-mail <camille8707@163.com>
committer-time 1370167106
committer-tz +0800
summary the second commit
previous 2cae29731f13611e7ddba68ae444f37d45b8b979 aa
filename aa
-t 参数可以让时间以时间戳的形式显示:2013-06-02 18:09:21  ------〉1370167761
-l 参数可以令其显示长串的哈希码   :aba9177   -----〉aba917735c7034255d6f340bd0ad384b1c7365ab
-s 参数可以简化输出,不显示作者及时间戳
-e 参数输出user.email 替换 user.name 
-w 参数可以忽略空行的不同。
-L  n ,m 参数可以查看制定n 到 m行的修改内容
-C ,-M ,-S,--contents 没有用明白,未完待续~


边界提交指的是git 仓库中的第一次提交。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值