Yukang's Page

使用overcommit生成git hooks

2018-02-26

git hooks很方便地可以在git操作流程的各个阶段加入hooks,比如执行一些脚本来检查代码风格、跑单元测试、做代码静态检查等。git hooks的试用方法是在.git/hooks目录下写各种脚本,但是.git目录的这些脚本是不会checkin到repo里的,所以如果一个代码如果被多个开发人员共享就会显得不太方便同步hooks。

当然也有一些其他方法来解决这个问题,比如配置links或者对于git 2.9以后也可以使用来定制hooks的目录:

git config core.hooksPath hooks

对于熟悉Ruby的同学可以使用overcommit这个gem来解决。使用方法就是通过配置.overcommit.yml,比如:

PreCommit:
RuboCop:
enabled: true
command: ['bundle', 'exec', 'rubocop'] # The shell command should run
AuthorName:
enabled: false

然后执行命令:

overcommit install

来自动生成各种hooks,通常后面的修改都是修改这个yaml文件即可,不过记得修改后需要overcommit --signed来重新生成hooks。

使用微信打赏

若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏

扫描二维码,分享此文章