如何跨文件重命名与重排场景查找添加特定Gradle依赖的Git提交
查找依赖首次添加提交的快速方案
方案1:Git Pickaxe全历史搜索(最高效)
直接扫描整个仓库所有提交的内容变更,不受文件重命名、路径调整、Gradle语法切换的影响,直接匹配com.example:mylib相关的变更:
- 执行命令:
git log -S "com.example:mylib" --all --full-history
- 可选缩小搜索范围,只匹配构建文件:
git log -S "com.example:mylib" --all --full-history -- **/build.gradle **/build.gradle.kts
执行后输出的最早的一条提交记录,就是该依赖首次被添加的提交。
方案2:正则匹配搜索(适配写法变更场景)
如果依赖声明有版本号变化、写法调整导致方案1搜不到,可以用正则匹配覆盖所有可能的写法:
git log -G "com.example:mylib(:[0-9.]+)?" --all --full-history
-G参数支持正则匹配,以上规则可以同时匹配带版本号、不带版本号,以及Groovy、Kotlin两种Gradle语法的依赖声明。
后续操作
拿到提交哈希后,执行git show <提交哈希>即可查看当时的完整变更内容,包括提交说明、关联的业务代码修改,就能了解添加该依赖的原始原因。如果需要判断是否可移除,可临时注释该依赖后启动项目跑全量测试,无异常即可移除。
内容的提问来源于stack exchange,提问作者M. Justin
相关产品推荐
相关产品推荐

