前端工程化 - git CI

团队内部编码风格不一致,代码规范性不足,相信这会是很多小团队刚成型时遭遇的窘境,那么如何破局,如何在代码提交环节,保证大多数人代码风格一致呢?

今天我们就要从git常用的几个钩子函数来讲起,逐步深入。

什么是Git钩子?

Git钩子是一组脚本,这些脚本对应着Git仓库中的特定事件,每一次事件发生时,钩子会被触发。

常用的Git钩子有哪些?

Pre-Commit

每一次执行git commit命令时,在要求填入提交信息或者生成提交对象之前,pre-commit脚本会被触发执行。可以利用这个钩子检查即将要提交的仓库快照。

Prepare Commit Message

执行完成pre-commit钩子脚本之后会触发prepare-commit-msg钩子,它会弹出含有提交信息的文本编辑器。在这一步可以用来修改squash或者merge命令自动生成的提交信息。


如果开发团队使用问题跟踪软件来管理需求和缺陷,比如JiraBugZillaRedmine等,通常惯例是为每一个issue指定一个独立分支。如果团队规约中规定分支名需要包含issueid,你可以定制prepare-commit-msg自动把issue id填写到提交信息中。(可参考借鉴,如何管理团队的编码规范)

Commit Message

commit-msgprepare-commit-msg很像,但它是在用户输入了提交信息之后触发执行的。如果需要警告开发者的提交信息不符合团队规范,此时是一个合适的时机。

Post-Commit

post-commit钩子总会在commit-msg钩子之后立即执行。它不能修改git commit操作本身,所以主要用于消息通知。


有可能你想在post-commit中触发一次持续集成,不过大多数情况下这一流程是通过post-receive钩子触发的。这个钩子在服务器上执行而不是本地机器。每一次远程服务器收到开发者推送的代码都会触发这个钩子。因此这个钩子更加适合执行持续及集成的任务。

======今天有点累,明天继续 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值