有時候接手一份新代碼時,看到某些文件的改動,但不清楚這個改動的做者和緣由,想查看該文件的具體提交歷史記錄。css
今天一個同事是這樣作的,直接敲git log命令,而後再使用vim命令的搜索關鍵字的方法來查看該文件的提交記錄,以下所示:html
例如:我想查看frameworks/base/packages/SystemUI/AndroidManifest.xml該文件的提交記錄,敲了git log命令後,直接按「/」而後加入該文件的路徑,後就能夠搜索該文件名做爲關鍵字,而後按N和Ctrl+N進行上下搜索結果切換,以下所示:java
這樣的話,很慢很繁瑣,效率比較慢。android
下面我介紹一個比較快捷的方法來查看某個指定文件的提交記錄,使用的仍是git log命令,只是加了一些參數而已。git
git log --pretty=oneline 文件名
例如:想搜索剛纔的frameworks/base/packages/SystemUI/AndroidManifest.xml文件的提交記錄,就能夠使用命令:vim
oyp@buildServer3:~/E580$ git log --pretty=oneline frameworks/base/packages/SystemUI/AndroidManifest.xml 34b7ac981a39193ca78e0d4673ce66515c23988d [add a new feature to show the battery voltage value and level] 1.Support show the level of c1d6879f098775f1d703dfcfe814c4d726be47ad [Create MT6753-6M AP source repository]
如上所示,打印出來的就是針對文件frameworks/base/packages/SystemUI/AndroidManifest.xml文件的全部的改動歷史,每一行最前面的那一長串數字就是每次提交造成的哈希值,接下來使用git show便可顯示具體的某次的改動的修改。app
下面就能夠使用git show 命令查看具體的修改詳情了。如:ui
git show <git提交版本號> <文件名>spa
git show 34b7ac981a39193ca78e0d4673ce66515c23988d frameworks/base/packages/SystemUI/AndroidManifest.xml這樣指定版本號,指定文件的就能夠直接查看該文件的修改詳情,不要看該版本號其餘文件的修改。以下所示:
oyp@buildServer3:~/E580$ git show 34b7ac981a39193ca78e0d4673ce66515c23988d frameworks/base/packages/SystemUI/AndroidManifest.xml commit 34b7ac981a39193ca78e0d4673ce66515c23988d Author: oyp <oyp@runbo.net> Date: Mon Nov 30 19:47:48 2015 +0800 [add a new feature to show the battery voltage value and level] 1.Support show the level of battery voltage (0-5 levels). 2.Support show the battery voltage value (accurate to two decimal places). Appllicable Project: E580 Appllicable model: All Except IKE new file: frameworks/base/packages/SystemUI/res/drawable-hdpi/battery_voltage_0.png new file: frameworks/base/packages/SystemUI/res/drawable-hdpi/battery_voltage_1.png new file: frameworks/base/packages/SystemUI/res/drawable-hdpi/battery_voltage_2.png new file: frameworks/base/packages/SystemUI/res/drawable-hdpi/battery_voltage_3.png new file: frameworks/base/packages/SystemUI/res/drawable-hdpi/battery_voltage_4.png new file: frameworks/base/packages/SystemUI/res/drawable-hdpi/battery_voltage_5.png new file: frameworks/base/packages/SystemUI/src/com/android/systemui/MyBatteryService.java new file: frameworks/base/packages/SystemUI/src/com/android/systemui/MyBootCompletedReceiver.java modified: frameworks/base/packages/SystemUI/AndroidManifest.xml modified: frameworks/base/packages/SystemUI/res/layout/system_icons.xml modified: frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java modified: frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java modified: frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarHeaderView.java diff --git a/frameworks/base/packages/SystemUI/AndroidManifest.xml b/frameworks/base/packages/SystemUI/AndroidManifest.xml old mode 100644 new mode 100755 index dfdc14c..5fb3545 --- a/frameworks/base/packages/SystemUI/AndroidManifest.xml +++ b/frameworks/base/packages/SystemUI/AndroidManifest.xml @@ -126,7 +126,11 @@ <!-- M: Add for data sim switch --> <uses-permission android:name="android.permission.WRITE_APN_SETTINGS"/> - + + <!-- added by ouyang start 2015-11-30 --> + <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> + <!-- added by ouyang end 2015-11-30 --> + <application android:name=".SystemUIApplication" android:persistent="true" @@ -407,5 +411,14 @@ <action android:name="android.intent.action.LOCALE_CHANGED" /> </intent-filter> </receiver> + + <!-- added by ouyang start 2015-11-30 --> + <receiver android:name=".MyBootCompletedReceiver" > + <intent-filter> + <action android:name="android.intent.action.BOOT_COMPLETED"/> + </intent-filter> + </receiver> + <service android:name=".MyBatteryService"/> + <!-- added by ouyang end 2015-11-30 --> </application> </manifest>
這樣的話,很高效、快速的查看指定文件的提交記錄和記錄詳情。.net
====================================================================================
做者:歐陽鵬 歡迎轉載,與人分享是進步的源泉!
轉載請保留原文地址:http://blog.csdn.net/ouyang_peng
====================================================================================