git hooks原理和使用

Hooks 是放置​​在 hooks 目录中的可执行程序, 以在 git 执行的某些点触发操作. 没有设置可执行位的钩子将被忽略.

Hooks分为客户端和服务端Hooks, 二者路径相同, 均在.git/hooks 目录下. 客户端的Hook只会根据客户端git事件来执行. 同理, 服务端的Hook只会根据远端仓库的git事件来执行. 但是用户clone下来的项目并不会继承远端的hooks程序.

所以, 如果想让某个发生在服务端的事件发生后执行一些操作, 比如每次客户端的push操作被接受后, 向所有人发送邮件, 理想的方式是在远端仓库编写hooks. 但是这里注意, 客户端的hooks并不会同步给其他用户, 所以如果需要每个人在代码被提交前进行必要的检查, 不优雅的做法是针对每个项目都进行一个初始化操作, 当然也可以使用类似Husky这样的工具来避免.

Hooks目录下已经存放了一些xxx.sample文件, 他们不会被执行, 除非去掉.sample的后缀, 并且其需要符合git定义的合法命名, 下图就是git的事件名. 这些文件是shell脚本, 也可以在其中执行别的pyhton脚本. 同时需要注意这些脚本的执行权限的问题, 使其至少可被用户或组执行.

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

门豪杰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值