原文:<wbr><a rel="nofollow" href="http://gitbook.liuhui998.com/5_5.html" style="color:rgb(245,149,19); text-decoration:none">http://gitbook.liuhui998.com/5_5.html</a>
<div>
<div>
<span style="color:#000080">如果你要查看文件的每个部分是谁修改的, 那么</span><span style="color:#ff00ff">git blame</span><span style="color:#000080">就是不二选择. 只要运行'</span><span style="color:#ff6600">git blame</span><span style="color:#808000">[filename]</span><span style="color:#000080">',
你就会得到整个文件的每一行的详细修改信息:包括SHA串,日期和作者:</span>
</div>
<div><br></div>
<div>译者注: Git采用SHA1做为hash签名算法, 在本书中,作者为了表达方便,常常使用SHA来代指SHA1. 如果没有特别说明, 本书中的SHA就是SHA1的代称.</div>
<div>
<span style="color:#3366ff">$</span><span style="color:#ff6600">git</span><span style="color:#3366ff"></span><span style="color:#993300">blame</span><span style="color:#3366ff"></span><span style="color:#808000">sha1_file.c</span>
</div>
<div><span style="color:#3366ff">...</span></div>
<div><span style="color:#3366ff">0fcfd160 (Linus Torvalds 2005-04-18 13:04:43 -0700 8) */</span></div>
<div><span style="color:#3366ff">0fcfd160 (Linus Torvalds 2005-04-18 13:04:43 -0700 9) #include "cache.h"</span></div>
<div><span style="color:#3366ff">1f688557 (Junio C Hamano 2005-06-27 03:35:33 -0700 10) #include "delta.h"</span></div>
<div><span style="color:#3366ff">a733cb60 (Linus Torvalds 2005-06-28 14:21:02 -0700 11) #include "pack.h"</span></div>
<div><span style="color:#3366ff">8e440259 (Peter Eriksen 2006-04-02 14:44:09 +0200 12) #include "blob.h"</span></div>
<div><span style="color:#3366ff">8e440259 (Peter Eriksen 2006-04-02 14:44:09 +0200 13) #include "commit.h"</span></div>
<div><span style="color:#3366ff">8e440259 (Peter Eriksen 2006-04-02 14:44:09 +0200 14) #include "tag.h"</span></div>
<div><span style="color:#3366ff">8e440259 (Peter Eriksen 2006-04-02 14:44:09 +0200 15) #include "tree.h"</span></div>
<div><span style="color:#3366ff">f35a6d3b (Linus Torvalds 2007-04-09 21:20:29 -0700 16) #include "refs.h"</span></div>
<div><span style="color:#3366ff">70f5d5d3 (Nicolas Pitre 2008-02-28 00:25:19 -0500 17) #include "pack-revindex.h"628522ec (Junio C Hamano 2007-12-29 02:05:47 -0800 18) #include "sha1-lookup.h"</span></div>
<div>...</div>
<div>你也可以用"-L"参数在命令(blame)中指定开始和结束行:</div>
<div>
<span style="color:#0000ff">$></span><span style="color:#ff6600">git</span><span style="color:#0000ff"></span><span style="color:#993300">blame</span><span style="color:#0000ff"></span><span style="color:#ff9900">-L</span><span style="color:#0000ff"></span><span style="color:#339966">160</span><span style="color:#0000ff">,</span><span style="color:#008000">+10</span><span style="color:#0000ff"></span><span style="color:#808000">sha1_file.c</span>
</div>
<div><span style="color:#3366ff">ace1534d (Junio C Hamano 2005-05-07 00:38:04 -0700 160)}</span></div>
<div><span style="color:#3366ff">ace1534d (Junio C Hamano 2005-05-07 00:38:04 -0700 161)</span></div>
<div><span style="color:#3366ff">0fcfd160 (Linus Torvalds 2005-04-18 13:04:43 -0700 162)/*</span></div>
<div><span style="color:#3366ff">0fcfd160 (Linus Torvalds 2005-04-18 13:04:43 -0700 163) * NOTE! This returns a statically allocate</span></div>
<div><span style="color:#3366ff">790296fd (Jim Meyering 2008-01-03 15:18:07 +0100 164) * careful about using it. Do an "xstrdup()</span></div>
<div><span style="color:#3366ff">0fcfd160 (Linus Torvalds 2005-04-18 13:04:43 -0700 165) * filename.</span></div>
<div><span style="color:#3366ff">ace1534d (Junio C Hamano 2005-05-07 00:38:04 -0700 166) *</span></div>
<div><span style="color:#3366ff">ace1534d (Junio C Hamano 2005-05-07 00:38:04 -0700 167) * Also note that this returns the location</span></div>
<div><span style="color:#3366ff">ace1534d (Junio C Hamano 2005-05-07 00:38:04 -0700 168) * SHA1 file can happen from any alternate</span></div>
<div><span style="color:#3366ff">d19938ab (Junio C Hamano 2005-05-09 17:57:56 -0700 169) * DB_ENVIRONMENT environment variable if i</span></div>
</div>
</wbr>