Ⅰ 如何查看文件修改历史
有时候在比对代码时,看到某些改动,但不清楚这个改动的作者和原因,也不知道对应的BUG号,也就是说无从查到这些改动的具体原因了~
【注】:某个文件的改动是有限次的,而且每次代码修改的提交都会有commit描述,我们可以从这里进行入手;
一、切换到目录
首先切换到要查看的文件所在的目录:
cd packages/apps/Mms/src/com/android/mms/ui/
二、git log --pretty
然后使用下面的命令可列出文件的所有改动历史,注意,这里着眼于具体的一个文件,而不是git库,如果是库,那改动可多了去了~
git log --pretty=oneline 文件名
如:
root@ubuntu:android_src/packages/apps/Mms/src/com/android/mms/ui# git log --pretty=oneline MessageItem.java
fix to process force close when empty address contained in card
display for 1970-1-1
HREF#13954 receive, store, and display wap push
HREF#16265_uim_show_time_error
fix xxxx
Fix ANR from calling Contact.get()
Fix missing From field
fix bug 2112925: don't display zip file garbage content in MMS.
Don't always show sent timestamp
Don't show Anonymous as the MMS sender
add search capability
Remove all references to ContactInfoCache except those in Contact.
Begin moving all conversation data behind a data model with a cache.
Begin adding UI unit tests to the Mms app.
Stop requiring a Context to be passed in to ContactInfoCache.
auto import from //branches/cupcake_rel/...@138607
auto import from //depot/cupcake/@135843
auto import from //depot/cupcake/@135843
auto import from //depot/cupcake/@132589
auto import from //depot/cupcake/@137055
auto import from //branches/cupcake/...@132276
auto import from //branches/cupcake/...@131421
Code drop from //branches/cupcake/...@124589
Initial Contribution
三、git show
如上所示,打印出来的就是针对文件MessageItem.java的所有的改动历史,每一行最前面的那一长串数字就是每次提交形成的哈希值,接下来使用git show即可显示具体的某次的改动的修改~
git show
结果如下:
root@ubuntu:/android_src/packages/apps/Mms/src/com/android/mms/ui# git show
commit
Author: 某某某 <某某某的邮箱>
Date: Thu Jan 6 01:50:31 2011 +0800
修改的描述(是该代码commit时所填)
Signed-off-by: 某某某 <某某某的邮箱>
diff --git a/src/com/android/mms/ui/MessageItem.java b/src/com/android/mms/ui/MessageItem.java
index 0a0c4b7..55c3b27 100644
--- a/src/com/android/mms/ui/MessageItem.java
+++ b/src/com/android/mms/ui/MessageItem.java
+
+ 列出具体的改动
-
-
这样就可以知道是谁做了修改,以及具体的修改代码~
那接下来不管是直接去找他交流还是研究代码,都有依据了~