git查看某個文件的修改歷史

git log --pretty

而後使用下面的命令可列出文件的全部改動歷史,注意,這裏着眼於具體的一個文件,而不是git庫,若是是庫,那改動可多了去了~java

git log --pretty=oneline 文件名

如:android

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 card
0e04b16f1dad7dc0a36e2235f7337bc656c365c7 display for 1970-1-1
e4abf3a213197491e0855e101117b59b5dc0160d HREF#13954 receive, store, and display wap push
356f6def9d3fb7f3b9032ff5aa4b9110d4cca87e HREF#16265_uim_show_time_error
350f9d34c35ab50bdb4b2d43fb3ff9780e6c73fa fix xxxx
715e32f97bd9d8ce4b5ba650b97ba4b137150456 Fix ANR from calling Contact.get()
fd8357ff5febab0141e1beb8dd3b26f70416b108 Fix missing From field

2、git showgit

如上所示,打印出來的就是針對文件MessageItem.java的全部的改動歷史,每一行最前面的那一長串數字就是每次提交造成的哈希值,接下來使用git show便可顯示具體的某次的改動的修改~ubuntu

git show 356f6def9d3fb7f3b9032ff5aa4b9110d4cca87e

結果以下:app

root@ubuntu:/android_src/packages/apps/Mms/src/com/android/mms/ui# git show 356f6def9d3fb7f3b9032ff5aa4b9110d4cca87e
commit 356f6def9d3fb7f3b9032ff5aa4b9110d4cca87e
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
+
+ 列出具體的改動
-
-

這樣就能夠知道是誰作了修改,以及具體的修改代碼~ui

那接下來無論是直接去找他交流仍是研究代碼,都有依據了~spa

 

補充:code

我看到的更好的方法。
1. git log filename
能夠看到fileName相關的commit記錄
2. git log -p filename
能夠顯示每次提交的diff
3. 只看某次提交中的某個文件變化,能夠直接加上fileName
git show c5e69804bbd9725b5dece57f8cbece4a96b9f80b filenameblog

相關文章
相關標籤/搜索