git hooks 简介与使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git hooks 简介与使用相关的知识,希望对你有一定的参考价值。

参考技术A git hooks,即git 钩子,定义为能在特定的重要动作发生时触发自定义脚本。
git 的hook分为两种,客户端hooks和服务端hooks。
客户端钩子由诸如提交和合并这样的操作所调用,而服务器端钩子作用于诸如接收被推送的提交这样的联网操作。

官方文档:

git hooks在git项目中的位置在 /.git/hooks 目录下,初始化时由以下sample组成:

完整说明详见官方文档:

拾遗:Git 与 Svn hook 不执行问题

要点:

  • GIT 或 SVN 的 hook 执行之前,会将所有环境变量清空,因此在其中执行命令时,必须指定绝对路径或重新设置必要的环境变量,如:$HOME 等
  • 修改为正确的名称,如:post-commit、post-update 等
  • 添加执行权限
  • git hook 执行时需要通过 --git-dir 重新设定 $GIT_DIR,指向某个git仓库的 .git 目录,否则其默认路径为 ‘.‘ ,可通过如下方式解决:设定 alias git="git --git-dir=/PATH/TO/REPO/.git"

以上是关于git hooks 简介与使用的主要内容,如果未能解决你的问题,请参考以下文章

Git——hooks的原理与实战

使用 Git Hook 实现网站的自动部署

手写 git hooks 脚本(pre-commitcommit-msg)

拾遗:Git 与 Svn hook 不执行问题

在Git项目中使用pre-commit统一管理hooks

使用 Git Hooks 实现自动项目部署