❓这行代码谁写的 ?
在多人协作的项目中进行开发,总是会遇到这些问题:
- 这行代码谁写的?明显是个坑,上线肯定是个故障。
- 这行代码谁写的?相当优雅,得学习下。
- 这行代码谁写的?看不懂,得咨询下。
- 这行代码谁写的?不是我呀,得查一下。
好,问题来了,这行代码谁写的?
怎么查是谁写的?
💢命令行工具 git blame
例如,查询 request.js 第 99 行代码是谁提交的,命令为:
1 | $ git blame -L 99,99 request.js |
即使把这个命令设置为快捷方式,一行一行的查询也是非常耗费精力的,那么有没有一眼可以看到的方式呢?那就是直接在 GitHub 上查。
😑使用 GitHub 查询
直接打开 GitHub 查询 request.js 提交记录,就可以看到了。
然而,代码敲的好好的,能不能不切换窗口呢?那就是使用各大 IDE 的插件实现了。
🔥使用 VS Code 查询
VS Code 在我的电脑上存在有两个原因:
- 写 TypeScript
- 使用 Git Blame 插件
主要说一下 Git Blame 插件,迄今为止用过的最方便的查询代码提交记录的工具,来张截图感受下:
光标在哪行,状态栏就显示该行代码的提交者。如果你使用 VS Code 用户,恭喜你,已经完美解决了本篇文章的问题。如果你喜欢轻量级编辑器,喜欢秒开,喜欢像特斯拉 P100D 一样百公里加速 2.5 秒的感觉,那就接着往下看吧。
🌟使用 Sublime Text 查询
好好好,你要的,都给你。
安装 Git Blame 插件后,需要在光标所在行启动命令框,输入:”Git Blame”,效果如下:
重点到了,身为 VIM 用户,我们的插件呢?
🚀在 VIM 中使用 git-blame.vim 快速查询
我是一只小小鸟,想要飞呀却飞也飞不高
我遨游在 GitHub 中,寻找着 VIM 适合的查询插件,tpope/vim-fugitive 太重,没有个轻量的插件么?git-blame.vim 横空出世!先看效果:
怎么做到的?只需要同时按 ,s
即可。当然也支持自定义快捷键了。
对实现感兴趣,请戳 git-blame.vim 代码仓库
🔧安装
最直接的方式:
1 | cd ~/.vim/bundle |
如果你跟你一样用的是 Vundle:
1 | Plugin 'zivyangll/git-blame.vim' |
👏使用
在 .vimrc 中设置快捷键“逗号+s“:
1 | nnoremap <Leader>s :<C-u>call gitblame#echo()<CR> |
若未设置 Leader,建议设置为逗号:
1 | let mapleader = "," " map leader键设置 |
如果你是 VIM 新手,一键上手
没有用过 VIM 没关系,可以参考我的 vim 配置:zivim,一键安装:
1 | $ curl -k https://raw.githubusercontent.com/zivyll/zivim/master/install.sh |
🔚结束语
如果你觉得这个插件对你有帮助,不要吝啬你的 star:zivyangll/git-blame.vim,哈哈😄,也可以在 vim.org 投出你宝贵的一票。
使用中有任何问题请提 issue。