git查看某个文件的修改历史
生活随笔
收集整理的這篇文章主要介紹了
git查看某个文件的修改历史
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在開發過程中,看到某些文件改動了,但不清楚這個改動的作者和原因,也不知道對應的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即可顯示具體的某次的改動的修改~
結果如下:
[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.cpp index 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這樣就可以知道是誰做了修改,以及具體的修改代碼~
總結
以上是生活随笔為你收集整理的git查看某个文件的修改历史的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cmake使用示例与整理总结
- 下一篇: C++ explicit的作用