awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
sds avatar

sds/overcommit

0
View on GitHub↗
4,008 星标·282 分支·Ruby·MIT·6 次浏览

Overcommit

Overcommit 是一个 Git 钩子管理器和预提交验证框架,旨在自动化在各种 Git 事件期间执行脚本和检查。它作为一个工作流自动化工具,确保在更改提交或推送到远程存储库之前满足代码质量和项目标准。

该系统通过全面的基于 YAML 的配置脱颖而出,该配置允许对钩子行为进行详细控制,包括文件执行过滤、有条件跳过和钩子依赖项管理。它提供专门的角色,例如提交消息验证器以强制执行命名约定,以及推送防护以阻止不稳定或不安全的代码到达远程分支。

该项目涵盖了广泛的功能领域,包括多语言静态分析和 Linting、自动化依赖管理以及安全验证(如密钥扫描和许可证合规性)。它还通过受保护的分支强制执行和并行钩子执行来管理存储库完整性,以优化性能。

Features

  • Git Hook Managers - Provides a comprehensive system for automating the installation and execution of Git hooks to enforce project standards.
  • Changed-File Linting - Restricts linting and analysis exclusively to the changes currently staged in the Git index.
  • Pre-Commit Validations - Runs static analysis and syntax checks on staged changes to prevent broken code from being committed.
  • Commit Message Validation - Enforces commit message formats and rules using regular expression patterns.
  • Custom Git Workflow Automations - Automates dependency installation, linting, and testing based on YAML configuration files.
  • Pre-commit Hooks - Orchestrates the execution of quality checks and scripts throughout the Git commit workflow.
  • Custom Validations - Allows users to define custom validation logic via scripts or classes to enforce project-specific coding standards.
  • Pre-Commit Quality Hooks - Automatically runs linting and static analysis on staged changes before they are committed to the repository.
  • Commit Message Style Hooks - Enforces that the first non-empty line of a commit message starts with an uppercase letter.
  • Git Hook Configurations - Defines hook execution rules, arguments, and enablement via YAML configuration files.
  • Version-Controlled Configurations - Stores custom hook configurations within source control to ensure consistent script execution for all contributors.
  • External Script Integration - Integrates project-specific shell scripts and binaries as hooks to perform specialized validation tasks.
  • Push Guards - Blocks pushes to remote repositories if tests fail or protected branches are targeted.
  • Binary Hook Mapping - Executes existing shell scripts or binaries as hooks by mapping them within a YAML configuration file.
  • Pre-push Validations - Executes test suites and security scans during the pre-push phase to block unstable code from reaching remotes.
  • Ruby Linting Tools - Runs static analysis tools on modified Ruby files to identify and report code offenses.
  • Ruby Linters - Executes Ruby linters to detect bugs and style issues before code is committed.
  • Code Formatting Tools - Provides integration for external tools that automatically enforce consistent styling and formatting rules on source code.
  • Hook Dependency Enforcement - Ensures required executables and libraries are present and correctly versioned for hook execution.
  • Lockfile Reconciliation - Ensures consistency by verifying that the local lockfile matches the dependency definition file before committing.
  • Dependency Installers - Automatically executes Composer installation commands when project dependencies are modified.
  • Lifecycle Automation - Automatically triggers package manager installation commands when dependency files are modified during checkouts or merges.
  • Post-Rewrite Triggers - Executes validation tasks specifically after a commit is amended or rebased.
  • Concurrent Hook Executions - Runs hooks in parallel or targets only changed files to reduce total execution time.
  • Worker Concurrency Tuning - Adjusts the number of parallel workers running hooks to optimize execution speed.
  • RuboCop Integration - Integrates RuboCop into the pre-commit workflow to enforce Ruby style and linting standards.
  • Post-Checkout Automations - Runs scripts or dependency installers immediately after a branch switch to synchronize the environment.
  • Post-Merge Automations - Triggers scripts or environment updates following a successful merge to keep the local state current.
  • Manual Executions - Enables manual execution of validation checks against tracked or changed files to verify code quality.
  • Hook Execution Exclusions - Allows users to selectively skip specific hooks using environment variables.
  • Multi-Language Linters - Orchestrates multiple language-specific linters and syntax checkers within a single workflow.
  • CI/CD Pipeline Integrations - Enables the execution of the entire pre-commit validation suite within continuous integration pipelines.
  • YAML Syntax Validation - Validates the syntax and structural correctness of YAML configuration files.
  • Hook File Filters - Provides the ability to apply include and exclude patterns to files before hooks execute.
  • Branch Protections - Prevents commits or pushes to protected branches and blocks destructive operations like force pushes.
  • Hook Execution Filters - Restricts hook execution to specific files, glob patterns, or branches to optimize workflow performance.
  • PHP Code Analysis - Analyzes modified PHP files for errors during the pre-commit phase to prevent broken code.
  • Dependency Vulnerability Scanning - Scans dependency lock files for known security vulnerabilities during the pre-commit phase.
  • Pre-Push Scans - Executes security scanners during the pre-push phase to block pushes containing vulnerabilities.
  • CPU Core Distribution - Distributes hook execution across logical CPU cores using adjustable worker concurrency.
  • Local Test Execution - Runs the Minitest test suite locally to verify code correctness before allowing a push.
  • Static Analysis - Integrates the Pronto static analysis tool into the pre-push hook to enforce code quality.
  • Ruby Syntax Validations - Performs syntax checks on Ruby files during the pre-commit phase to catch parse errors.
  • Test Suite Orchestration - Executes the Flutter test suite automatically during the pre-push phase to ensure code quality.
  • Developer Utilities - Configurable Git hook manager.
  • Git Hook Managers - A fully configurable and extendable Git hook manager.

Star 历史

sds/overcommit 的 Star 历史图表sds/overcommit 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

Overcommit 的开源替代方案

相似的开源项目,按与 Overcommit 的功能重合度排序。
  • brigade/overcommitbrigade 的头像

    brigade/overcommit

    4,008在 GitHub 上查看↗

    Overcommit is a Git hook manager and workflow automation system used to configure, deploy, and orchestrate scripts that enforce coding standards and project workflows. It acts as a management layer for distributed hook configuration, applying global templates across multiple repositories to ensure consistent validation rules. The system functions as a parallel task runner, executing multiple validation scripts concurrently across CPU cores to reduce the time spent during pre-commit checks. It distinguishes itself through signature-based integrity verification to detect unauthorized changes to

    Ruby
    在 GitHub 上查看↗4,008
  • j178/prekj178 的头像

    j178/prek

    6,297在 GitHub 上查看↗

    Prek is a Git hook manager written in Rust that runs configured hooks as a single binary without requiring Python or other external runtimes. It executes hooks faster than standard tools through parallel processing and bundled Rust implementations, and includes a built-in hook repository that enables fully offline operation without network access or environment setup. The tool supports both TOML and YAML configuration formats with identical semantics, and can run hooks from existing pre-commit configuration files without modification. Prek distinguishes itself through workspace-aware monorepo

    Rustgitgit-hookspre-commit
    在 GitHub 上查看↗6,297
  • evilmartians/lefthookevilmartians 的头像

    evilmartians/lefthook

    7,598在 GitHub 上查看↗

    Lefthook is a Git hook manager and workflow automation tool designed to execute user-defined scripts during version control events. It automates the execution of linters, tests, and formatters to validate changes and maintain code quality before commits or pushes. The project distinguishes itself through a parallel execution model that runs multiple shell commands concurrently to reduce latency. It supports complex configuration management, including the ability to merge global, remote, and local settings and synchronize configurations from external repositories to standardize development env

    Gogitgogolang
    在 GitHub 上查看↗7,598
  • phpro/grumphpphpro 的头像

    phpro/grumphp

    4,294在 GitHub 上查看↗

    GrumPHP is a Git commit validator and PHP code quality orchestrator. It functions as a Git hook manager that automates the installation and execution of script triggers to enforce code quality standards within PHP projects. The tool prevents non-compliant code from being committed by running a suite of validation and linting tasks during the Git workflow. It integrates automated quality checks directly into the local development environment to maintain project standards. The system manages pre-commit testing workflows by executing quality tests and automating Git hooks. It uses a task-based

    PHP
    在 GitHub 上查看↗4,294
查看 Overcommit 的所有 30 个替代方案→

常见问题解答

sds/overcommit 是做什么的?

Overcommit 是一个 Git 钩子管理器和预提交验证框架,旨在自动化在各种 Git 事件期间执行脚本和检查。它作为一个工作流自动化工具,确保在更改提交或推送到远程存储库之前满足代码质量和项目标准。

sds/overcommit 的主要功能有哪些?

sds/overcommit 的主要功能包括:Git Hook Managers, Changed-File Linting, Pre-Commit Validations, Commit Message Validation, Custom Git Workflow Automations, Pre-commit Hooks, Custom Validations, Pre-Commit Quality Hooks。

sds/overcommit 有哪些开源替代品?

sds/overcommit 的开源替代品包括: brigade/overcommit — Overcommit is a Git hook manager and workflow automation system used to configure, deploy, and orchestrate scripts… j178/prek — Prek is a Git hook manager written in Rust that runs configured hooks as a single binary without requiring Python or… evilmartians/lefthook — Lefthook is a Git hook manager and workflow automation tool designed to execute user-defined scripts during version… phpro/grumphp — GrumPHP is a Git commit validator and PHP code quality orchestrator. It functions as a Git hook manager that automates… pre-commit/pre-commit-hooks — This project is a comprehensive collection of pre-commit hooks designed to automate code linting, style enforcement,… super-linter/super-linter — Combination of multiple linters to run as a GitHub Action or standalone.