Git可以定制一些钩子,这些钩子可以在特定的情况下被执行,分为Client端的钩子和Server端的钩子。Client端钩子被operation触发,比如commit,merge等,Server端钩子被网络动作触发,比如pushed commits。
那么钩子是放在哪的呢?
在.git/hooks/文件夹下。当你init一个仓库的时候,下边会有一些钩子的例子,以.sample结尾。
那么钩子什么时候被执行,Git预定义了触发时机:
ClientSide hooks:
1 pre-commit,当执行commit动作时先执行此hook,可以用此hook做一些检查,比如代码风格检查,或者先跑测试。
2 prepare-commit-msg, 当commit时需要输入message前会触发此hook,可以用此hook来定制自己的default message信息。
3 commit-msg,当用户输入commit的message后被触发,可以用此hook校验message的信息,比如是否符合规定,有没有cr等。
4 post-commit, 当commit完成后被触发,可以用此hook发送notific

Git钩子是在特定事件触发时执行的定制脚本,分为客户端和服务器端。客户端钩子如pre-commit用于检查代码,post-commit用于发送通知,而服务器端钩子如pre-receive用于验证推送。钩子存放在.git/hooks目录,可用shell、perl、python等编写,并通过chmod设置执行权限。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



