本文已参与「掘力星计划」,赢取创作大礼包,挑战创作激励金。
系列
由于篇幅问题,一篇文章写完太长,因此分了几篇来写
Android Studio Git 进阶技巧 交互式变基实战教程
Android Studio Git 周边插件一览 - 掘金
目录
git相关的插件其实挺多的
我把我这么多年的用过的都列下吧,其实也不多,可能有些已经有了优秀的代替品,如果有更优秀的欢迎在评论区告诉我。
大概就那么几类,和commit message相关的,和分支相关的,还有一些就是git平台相关的,比如gitlab,github等定制插件,还有就是增强型插件,下面一一介绍吧。
Git Commit Template
我司对于git commit message 是有要求的,但是也没有那么严格,一开始也只是要求我们的写法大概参照angular的写法就行,只要内容表达清楚,不要只写个"修复bug"之类的就好。更没有去搞一些客户端hook之类的等严格措施。
关于什么是 angular的写法规范,我就不再重复写了,网上有很多的科普文章,掘金我搜了下也有不少老哥写了,我就随意贴一篇吧,反正是讲清楚了。
angular commit 格式
<type>(<scope>): <subject>
<空行>
<body>
<空行>
<footer>
举个实际的例子
feat($browser): onUrlChange event (popstate/hashchange/polling)
Added new event to $browser:
- forward popstate event if available
- forward hashchange event if popstate not available
- do polling when neither popstate nor hashchange available
Breaks $browser.onHashChange, which was removed (use onUrlChange instead)
一开始每次都是手打的,这就有几个问题,那些type不太容易记全,有时候忘记了总得搜一下再来写,第二个就是格式的不统一,比如今天是英文状态输入的,明天是中文状态输入的,这里面标点符号什么的都是有去别的。
后来就想着idea这么强大,肯定有插件啊,一搜果然有,叫 Git Commit Template,就叫git提交模板,我们安装完在git提交页面写message的地方会有个小按钮,打开就能辅助我们写好一个标准的angular格式的commit message,我们看一下
点开这个按钮,我们看一下
怎么样,很方便吧,type给我们都列好了,不用记了,直接选就行,后面还有贴心的注释,其他的 scope 和 short description 和 long description 都有。
解放双手!
Gitmoji plus : Commit Button
这个插件其实是我在逛某些热门的开源代码的时候,发现人家的提交记录前面都带个应景的emoji,我觉得还挺(hua)好(li)看(hu)的(shao),就也想加一下,给我同事枯燥的造bug工作带去一丝丝乐趣,哈哈
一开始我是先用上面那个插件生成好message,然后在手动去找个emoji贴上,一开始兴趣满满,后来就厌倦了,每次去找emoji也太麻烦了吧,尤其是我这种每天要提交几十次的人来说。
后来我就又想到了强大的idea插件,一搜emoji,果然找到个 Gitmoji plus : Commit Button,装上一看
在同样的位置,多了个emoji的图标,点开
可以看到虽然有了emoji,但是自定义的内容没有刚刚那个那么丰富了,不过也没关系,我们平时写message一般也就是写个type+short message,这样看的话,这个插件也勉强能满足我现阶段的需求。
Git Commit Message Helper
这又是一款协助写好git message的插件,其实有了上面2个,大家可能会有疑问,咋又有新的插件呢
说到底,还是需求一直在变呗。
团队小伙伴人数一直在扩张,团队对CI/CD的流程也越来越关注,我们有个CI流程,就和git message有关系,需要我们写对type,比如我们修复bug的提交,不能只写fix了,要写fix-jira号,这样格式统一之后,方便我们做一些自动化的东西,这时候上面2个就满足不了了,那咋办,手动写是不可能的,本来打算自己写一个插件的内部用用,也不难,上手之前,又去仓库搜了下,居然发现了这么一款神器,它可以自定义我们的内容,这不是想啥来啥吗哈哈
看到没有,这就是一款上手能直接用,不满足需求还能自定义的插件了,我们在type那,可以添加我们自己的类型,然后还可以定义我们自己的模板格式。
在提交页面,相同的位置,同样有个小按钮,点一下
type那个下拉框里就是我们自定义的内容了。
Git Folw Intergration
这个没什么好说的,就是辅助进行git flow 流程的,包括创建flow 分支,结束flow分支和发布flow分支等
Gitlab Projects 2020
GitToolBox
参考
Commit message 和 Change log 编写指南 - 阮一峰的网络日志 (ruanyifeng.com)
git commit规范化工具 - 掘金 (juejin.cn)
「欢迎在评论区讨论,掘金官方将在掘力星计划活动结束后,在评论区抽送100份掘金周边,抽奖详情见活动文章」。