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 27209385caf678abe878375a470f4edd67a2d806 fix to process force close when empty address contained in card0e04b16f1dad7dc0a36e2235f7337bc656c365c7 display for 1970-1-1e4abf3a213197491e0855e101117b59b5dc0160d HREF#13954 receive, store, and display wap push356f6def9d3fb7f3b9032ff5aa4b9110d4cca87e HREF#16265_uim_show_time_error350f9d34c35ab50bdb4b2d43fb3ff9780e6c73fa fix xxxx715e32f97bd9d8ce4b5ba650b97ba4b137150456 Fix ANR from calling Contact.get()fd8357ff5febab0141e1beb8dd3b26f70416b108 Fix missing From field

二、git show

如上所示,打印出来的就是针对文件MessageItem.java的所有的改动历史,每一行最前面的那一长串数字就是每次提交形成的哈希值,接下来使用git show即可显示具体的某次的改动的修改~

git show 356f6def9d3fb7f3b9032ff5aa4b9110d4cca87e
root@ubuntu:/android_src/packages/apps/Mms/src/com/android/mms/ui# git show 356f6def9d3fb7f3b9032ff5aa4b9110d4cca87ecommit 356f6def9d3fb7f3b9032ff5aa4b9110d4cca87eAuthor: 某某某 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.javaindex 0a0c4b7..55c3b27 100644--- a/src/com/android/mms/ui/MessageItem.java+++ b/src/com/android/mms/ui/MessageItem.java++ 列出具体的改动--

这样就可以知道是谁做了修改,以及具体的修改代码~

那接下来不管是直接去找他交流还是研究代码,都有依据了~

补充:

我看到的更好的方法。

1. git log filename

可以看到fileName相关的commit记录

2. git log -p filename

可以显示每次提交的diff

3. 只看某次提交中的某个文件变化,可以直接加上fileName

git show c5e69804bbd9725b5dece57f8cbece4a96b9f80b filename

d40d7d9fc2867ce7cbac58c19f0a4ca4.png
Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐