`
chriszeng87
  • 浏览: 716025 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

git查看某个文件的修改历史

    博客分类:
  • Git
git 
阅读更多

有时候在比对代码时,看到某些改动,但不清楚这个改动的作者和原因,也不知道对应的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 
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
d130e2e6dc448fd80ecb70f0d31e3affb9888b9a fix bug 2112925: don't display zip file garbage content in MMS.
0e19f738c114f86d0d88825ee48966015fb48b6d Don't always show sent timestamp
52f854cbb75e8f9975c7e33216b828eb2f981095 Don't show Anonymous as the MMS sender
331864544ec51ba6807fc5471cc6d537b7fef198 add search capability
33a87f96f8c625aa10131a77a3968c97c4ec5a62 Remove all references to ContactInfoCache except those in Contact.
70c73e05a792832aa28da751cdaf3fa83a7b8113 Begin moving all conversation data behind a data model with a cache.
48da875f1beea835c6771977e5bd8a9aa3d4bc10 Begin adding UI unit tests to the Mms app.
66dde9460badebf8e740275cabde9cca256006eb Stop requiring a Context to be passed in to ContactInfoCache.
591d17e9a51bb9f829d6860dc7aa0bad25062cd5 auto import from //branches/cupcake_rel/...@138607
72735c62aba8fd2a9420a0f9f83d22543e3c164f auto import from //depot/cupcake/@135843
892f2c5bf965b1431ae107b602444a93f4aad4a3 auto import from //depot/cupcake/@135843
153ae99e0a7d626a24d61475eeb133249deb448c auto import from //depot/cupcake/@132589
abd7b2d90f7491075f1daba4b4cccdfc82f8ddd1 auto import from //depot/cupcake/@137055
59d72c57ce9c319b6cd43ce2ab36b7076c9e821f auto import from //branches/cupcake/...@132276
44cea74dc55e2459262d0d765ef4a69267dd09b0 auto import from //branches/cupcake/...@131421
0f236f55349f070ac94e12cca963847173393da8 Code drop from //branches/cupcake/...@124589
8eed706474910ccb978acda03e85d3261037da6e Initial Contribution
复制代码

 三、git show


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

git show 356f6def9d3fb7f3b9032ff5aa4b9110d4cca87e

结果如下:

复制代码
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
+
+ 列出具体的改动
-
-
复制代码

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

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

 

转自:http://www.cnblogs.com/flyme/archive/2011/11/28/2265899.html

分享到:
评论

相关推荐

    Git菜单栏功能

    是将当前更改或者新增的文件加入到Git的索引中,加入到Git的索引中就表示记入了版本历史中,这也是提交之前所需要执行的一步。 Branches:点击切换开发分支 Tag:为项目打tag(标签) 可以将某个具体的版本打上一个...

    git教案-v2.0.docx

    版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。...

    GIT起步教程

    有了它你就可以将某个文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态。你可以比较文件的变化细节,查出最 后是谁修改了哪个地方,从而导致出现怪异问题,又是谁在何时报告了某个功能缺陷等等。...

    使用git和rstudio

    是否想证明某个特定更改破坏或修复了一段代码? 想查看一些代码的历史吗? 是否要提交对他人代码的更改? 想要共享您的代码,还是让其他人使用您的代码? 想知道正在完成多少工作,在哪里,何时以及由谁进行? ...

    Git安装使用说明文档

    版本库又名仓库,英文名 repository,你可以简单的理解一个目录,这个目录里面的所有文件都可以被 Git 管理起来,每个文件的修改,删除,Git 都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻还可以将文件...

    composer-git-merge-driver:自定义git合并驱动程序,以最小化composer.json和composer.lock文件中的合并冲突

    Composer JSON Git合并驱动程序提供了一种机制,可以更有效地合并在单独的分支/开发历史记录中同时进行修改的composer.json和composer.lock文件。 当作曲者JSON文件要求的合并比简单的“快速前进”更为复杂时,将...

    github学习命令

    已修改表示修改了某个文件,但还没有提交保存;已暂存表示把已修改的文件放在下次提交时要保存的清单中。 2 Git命令基本格式 一般情况下,Git的命令都是git [command] [option] [argument]格式。其中 command指的...

    git创建版本库_动力节点Java学院整理

    版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。...

    git-book:一本关于git版本控制系统的书

    介绍对项目做好一点修改,把修改...这样以后你就可以查看项目在某个时间点都做了一些修改,修改里都动了该文件,具体修改的内容是什么,是谁做的修改。你还可以恢复之前对项目做的修改。这些都是Git可以帮我们做的事。

    abapTimeMachine:ABAP Time Machine提供了一种以一致的方式查看过去代码版本的急需方法。 它还为ABAP提供了一种git-blame(显示最后修改每行代码的请求和作者)

    另外,它还通过显示“给定版本的修订和作者最后修改文件的每一行”来部分模拟 。为什么ABAP的版本控制系统令人难以置信的糟糕。 没有本机的方法可以查看过去某个给定时间的整个类或整个功能组。 此外,这使得很难找...

    本地使用SVN进行源代码管理

    平时写点代码什么的总是在一个文件夹下面复制多个历史版本,以时间命名,但是久而久之文件就大了起来,版本不稳定又不好把以前的删除,所以就产生了一大批的文件,想回退的时候时间久了又不知道每个版本具体做了哪些...

    详解本地库的使用以及原理(一)

    关于仓库你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”. 首先我们来了解版本库的创建&gt;&gt;...

    KODExplorer 芒果云-资源管理器

    - 标签关闭提示:检测是否有未保存文件,文件修改实时修改是否修修改的按钮状态 ####fix bug:(bug解决和程序优化) - 文本文件编辑 文件名含有url编码则出错bug - 右键菜单在最下面时,右键位置重叠导致点击...

    BookStack在线文档管理系统 v2.10

    MinDoc之前本身就有版本控制的,但是版本控制的文档内容全都存在数据库中,如果修改频繁而导致修改历史过多的话,数据库可能会被撑爆。当时没有好的解决办法,所以将该功能移除了。 目前加上该功能,是因为这个功能...

    BookStack在线文档管理系统-其他

    并且在SEO管理这里,可以更新站点sitemap(暂时没做程序定时自动更新sitemap)10、版本控制MinDoc之前本身就有版本控制的,但是版本控制的文档内容全都存在数据库中,如果修改频繁而导致修改历史过多的话,数据库...

Global site tag (gtag.js) - Google Analytics