git查看某个文件的修改历史
2016-02-17 10:05
429 查看
在开发过程中,看到某些文件改动了,但不清楚这个改动的作者和原因,也不知道对应的BUG号,也就是说无从查到这些改动的具体原因了~【注】:某个文件的改动是有限次的,而且每次代码修改的提交都会有commit描述,我们可以从这里进行入手;一、切换到目录首先切换到要查看的文件所在的目录:
[root@test01 hdt_adengine_select]# cd select_src/二、git log --pretty然后使用下面的命令可列出文件的所有改动历史,注意,这里着眼于具体的一个文件,而不是git库,如果是库,那改动可多了去了~
git log --pretty=oneline 文件名如:
[root@test01 select_src]# git log --pretty=oneline select_output.cpp 5f95002d9623297132fb8ce8d3fc7e6fb7603046 输出 051dab37dc3915f80f8cf342c66c58b1c4e06a07 补余-modify fe4f32d2bfd421b568b211a1970a1f65a0ac2499 select 4bbdbbe4638eda65ab2d48e770da9cf278115625 test三、git show如上所示,打印出来的就是针对文件select_output.cpp的所有的改动历史,每一行最前面的那一长串数字就是每次提交形成的哈希值,接下来使用git show即可显示具体的某次的改动的修改~
git show 5f95002d9623297132fb8ce8d3fc7e6fb7603046结果如下:
[root@test01 select_src]# git show 5f95002d9623297132fb8ce8d3fc7e6fb7603046 commit 5f95002d9623297132fb8ce8d3fc7e6fb7603046 Author: zhimin.wang <zhimin.wang@hdtmedia.com> Date: Fri Jan 22 11:05:00 2016 +0800 输出 diff --git a/src/nginx-1.0.15/third-modules/hdt_adengine_select/select_src/real_time_data.cpp b/src/nginx-1.0.15/third-modules/hdt_adengine_select/select_src/real_time_data.cpp index aa08357..0b8e2eb 100644 --- a/src/nginx-1.0.15/third-modules/hdt_adengine_select/select_src/real_time_data.cpp +++ b/src/nginx-1.0.15/third-modules/hdt_adengine_select/select_src/real_time_data.cpp @@ -8,6 +8,79 @@ void mem_db::set_mem_db(engine_pro_in * in) i = in; }
...
diff --git a/src/nginx-1.0.15/third-modules/hdt_adengine_select/select_src/select_output.cpp b/src/nginx-1.0.15/third-modules/hdt_adengine_select/select_src/select_output.cppindex a010168..cb67e08 100644--- a/src/nginx-1.0.15/third-modules/hdt_adengine_select/select_src/select_output.cpp+++ b/src/nginx-1.0.15/third-modules/hdt_adengine_select/select_src/select_output.cpp@@ -1,8 +1,140 @@#include "select_output.h"#include "select_factory.h"-int select_output::output_result(const partner_info& partner_info_)+int select_output::output_result(engine_pro_in* in,const partner_info& partner_info_)^M{- //<B9><E3><B8><E6>λid+"#"+match+ string combineid;//bookid-gid-sgid$partnerid^M+ string posid,tmp;^M+ PosInfo_t posinfo;^M+ ^M+ if(m_p_mem_db)^M+ {^M+ m_p_mem_db->set_mem_db(in);^M+^M+ combineid = partner_info_.s_book_id + "$" + partner_info_.s_partner_id;^M+ ^M+ for(unsigned int i=0;i<m_p_feature_db->m_pArPosInfo.size();i++)^M+ {^M+ posinfo = m_p_feature_db->m_pArPosInfo[i];^M+ posid = posinfo.m_strPosId;^M这样就可以知道是谁做了修改,以及具体的修改代码~
相关文章推荐
- MySQL索引背后的数据结构及算法原理
- poj 3373 Changing Digits(记忆化搜索)
- 两种注册广播的方式及其优缺点
- 40-泛型--前世今生
- 大家好!
- iOS 集合NSSet 用法详解
- 【设计模式】不就是换DB嘛(二)——升级版抽象工厂+反射+配置文件
- Android学习笔记之四大组件篇--->Activity
- Study
- 关于css的布局
- 《从零开始学Swift》学习笔记(Day67)——Cocoa Touch设计模式及应用之MVC模式
- Java中按值传递与按引用传递的区别
- spring三大核心学习(一)---控制反转
- freeswitch添加G729编解码模块
- AngularJS身份验证的方法
- Android intent 属性详解(二)
- MySQL 入门 之 数据类型表
- [置顶] 人格化的产品
- spring整合struts2时作用域scope解析
- [转]标题-链接