← 全部文章

技术与生活 / 一篇记录

blame 的价值在上下文,不在找人背锅

某一行最后被修改,可能只是因为格式化、移动文件或重命名变量。真正理解设计原因,需要继续查看对应提交、相关文件和当时的约束条件。

blame 用于定位代码的最近修改,再通过提交上下文理解原因。

实际怎么检查

以下示例应在测试仓库中使用;远端和分支名需要按项目实际配置替换。

git blame -L 1,20 -- README.md

打开相关提交,检查当时一起修改的文件。

遇到异常再检查什么

缩小行号范围,优先查看与当前行为相关的逻辑。再沿历史比较实际语义改变,而不是把最近出现的作者当作问题的唯一来源。

文件移动会让历史阅读更复杂。需要追踪来源时,可继续检查重命名前后的记录。blame 只是定位入口,修改说明、相关测试与当时的需求往往比一行作者信息更有解释力。

最后修改者不一定是最初设计者,不能只按作者字段归因。

参考:Git 文档。

搜索文章

输入关键词,找回一篇记录。