webestit/githooks 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

webestit/githooks

最新稳定版本:v1.0.1

Composer 安装命令:

composer require --dev webestit/githooks

包简介

Repository-Managed Git Hooks: language-agnostic, POSIX-compliant

README 文档

README

License: MIT License Latest Stable Version Total Downloads GitHub issues GitHub forks GitHub stars

🪝 Repository-Managed Git Hooks

This package allows you to manage Git hooks centrally within your repository. It's language-agnostic and only requires Git and a POSIX-compliant shell (like sh, bash, dash, or zsh).

🚀 Installation

  1. Add post-install/update scripts to your composer.json
    (so the package automatically configures git hooks):

    {
        "scripts": {
            "post-install-cmd": [
               "@composer exec githooks install"
            ],
            "post-update-cmd": [
               "@composer exec githooks install"
            ]
        }
    }
  2. Install the package:

    composer require webestit/githooks

The package will automatically:

  1. Configure core.hooksPath to point to its own hooks directory.
  2. Create a .githooks directory in your project root with subdirectories for common hooks.

ℹ️ How it works

  • The package sets Git's core.hooksPath to its directory which contains all Git hooks.
  • Every Git hook executes all executable scripts found in your project's .githooks/<hook-name>/ directory.
  • Scripts are executed in alphabetical order (e.g., 01-check.sh, 02-test.sh).

➕ Adding hooks to your project

  1. Go to the .githooks/<hook-name>/ directory in your project root.
  2. Add your shell script:
    # Example: .githooks/pre-commit/01-lint.sh
    #!/bin/sh
    echo "Running linter..."
    # your logic here
  3. Make it executable:
    chmod +x .githooks/pre-commit/01-lint.sh

💡 Examples

You can find example hooks in the package's examples directory. Feel free to copy and adapt them to your project's .githooks/ folder.

⚠️ Bypassing hooks temporarily

You can bypass hooks using --no-verify:

git commit --no-verify

⚠️ Disabling repository hooks

To stop using these managed hooks and return to Git defaults:

git config --unset core.hooksPath

统计信息

  • 总下载量: 6
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 3
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 0
  • Forks: 0
  • 开发语言: Shell

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-01-04

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固