[git]查找某个地方是谁修改的一种方法

4 篇文章 0 订阅

多個 team 一起開發一個項目,會碰到“踢皮球”的事情,如果能找到commit id 來證明是誰改的,那就是最好的證據了。

 

先進到修改過的git 目錄下,通過以下命令,可以找出有此修改的commit id:

 

git rev-list --all | xargs git grep -F 'your_search_string' > a.txt

 

 

然後從最後一個commit id開始執行:

 

git diff commit_id


查看是否有修改的code,如果沒有就查看上一個,直到找到位置。根據經驗,一般一兩個就能找到修改的 commit id。

 

 

到這裡就知道是誰改的出了問題,再然後列出詳細的 commit 信息:

 

git show commit_id

 

 

 

到這裡就可以將 Bug 轉出去了。

 

另外,如果在git log 導出來,用 BC工具進行比較,也能將修改的地方快速找出來。這裡不作詳述。

 

//20180721 补充:

以下这条命令可以只查看 commit_id 中修改的文件

git show commit_id file

以下命令在 repo init 裡指定了 --depth=1, 這告訴了接下來的 repo sync 指令, 我們只要下載 repo init 命令中所指定分支的最後一版資料.

執行 git fetch --unshallow 命令, 還是可以將所有的版本下載下來.
 

repo init -u git://review.xx.com/platform/manifest -b branch_name  --depth=1

repo sync kernel-8.10;date

git fetch --unshallow

 

[end_by_ChampWang]

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值