承接 alysontrizotto/git-pre-push 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

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

alysontrizotto/git-pre-push

Composer 安装命令:

composer require alysontrizotto/git-pre-push

包简介

Biblioteca PHP para hooks de pre-push no Git.

README 文档

README

Biblioteca PHP (Composer Plugin) para automatizar o hook pre-push do Git, executando testes antes do push. Compatível com Laravel, (ainda em testes PHPUnit puro e outros frameworks PHP).

Principais recursos

  • Instala automaticamente o hook pre-push ao instalar/atualizar o pacote.
  • Cria automaticamente o arquivo de configuração git-pre-push.php na raiz do projeto (não sobrescreve se já existir).
  • Executa o comando de testes configurado antes do push e bloqueia o push em caso de falhas.
  • Respeita --env=... no comando de testes e exige o arquivo .env.<env> correspondente.
  • Em APP_ENV=production, pula os testes e permite o push.

Requisitos

  • PHP CLI disponível (php -v).
  • Composer >= 2.2 (para permitir plugins).
  • Repositório Git inicializado (para instalar o hook em .git/hooks/).

Instalação

Permitir o plugin no composer.json do projeto (Composer >= 2.2):

{
  "config": {
    "allow-plugins": {
      "alysontrizotto/git-pre-push": true
    }
  }
}

Instalar no projeto (recomendado como dev):

composer require --dev alysontrizotto/git-pre-push

Ao instalar/atualizar, o hook .git/hooks/pre-push será criado automaticamente e o arquivo git-pre-push.php será gerado na raiz se não existir.

Configuração

O arquivo git-pre-push.php contém a configuração do comando de testes:

<?php
return [
  // Exemplo Laravel
  'test_command' => 'php artisan test --env=testing',

  // Alternativa: PHPUnit puro
  // 'test_command' => 'vendor/bin/phpunit',
];

Comportamento relacionado a ambientes:

  • Se 'test_command' tiver --env=testing, o hook exige a existência de .env.testing.
  • Se APP_ENV=production (variável de ambiente ou .env), o hook não roda testes e permite o push.

Desinstalação

Ao remover o pacote via Composer, o hook é removido automaticamente. Opcionalmente:

php vendor/bin/git-pre-push uninstall-hook

Segurança: o hook gerado possui marcação e só é removido se tiver sido criado por este pacote.

Solução de problemas

  • “Arquivo de ambiente esperado não encontrado: .env.testing”: crie o arquivo ou ajuste o --env no test_command.
  • Permissão do hook (Linux/Mac): chmod +x .git/hooks/pre-push.
  • Garanta que o Git esteja executando hooks (use Git CLI/Git Bash).

Exemplo de composer.json do consumidor

{
  "require-dev": {
    "alysontrizotto/git-pre-push": "^1.0"
  },
  "config": {
    "allow-plugins": {
      "alysontrizotto/git-pre-push": true
    }
  }
}

Licença

MIT

alysontrizotto/git-pre-push 适用场景与选型建议

alysontrizotto/git-pre-push 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 65 次下载、GitHub Stars 达 0, 最近一次更新时间为 2025 年 08 月 21 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「phpunit」 「git」 「HOOK」 「laravel」 「composer-plugin」 「pre-push」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 alysontrizotto/git-pre-push 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 alysontrizotto/git-pre-push 我们能提供哪些服务?
定制开发 / 二次开发

基于 alysontrizotto/git-pre-push 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

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

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-08-21