git blame 确认代码中的屎是不是自己拉的

文章目录

    今天在排查一处程序 bug 时,发现一段代码写的逻辑实在乱,完全没有印象正确的逻辑应该是怎样的。
    于是想查看这段代码是不是自己写的,什么时候写的,为什么这么写的。

    直接在 VSCode 的 github copilot 的 Chat 窗口中问了一下:

    如何通过 git 命令查看某段代码是那个提交修改的:例如:
    line1
    line2
    line3
    

    得到的回答是,可以试试 git blame 命令。试了一下,非常好用。

    git blame 示例

    例如, 我想查看 models/product.go 文件中第 10 到 13 行的修改记录,可以运行:

    git blame -L 10,13 models/product.go
    

    执行结果如下图:

    git blame 执行结果

    可以看到每一行代码前面都有一个 commit hash 和作者信息。通过这些 hash 可以进一步查看具体的提交内容。

    git show <commit-hash>
    

    VSCode 中查看 git blame 信息

    网上搜索了一下,发现 VSCode 内置了 git blame 功能,可以直接在编辑器中查看每行代码的最后修改信息。

    参考,VSCode 的官方文档:

    https://code.visualstudio.com/docs/sourcecontrol/overview

    git blame vscode 文档

    可以看到,编辑区域的底部的 Status Bar 上会显示当前行的最后修改信息,点击可以查看更多详情。如下图所示:

    git blame vscode

    还是 VSCode 方便啊。

    关于作者 🌱

    我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式