已关闭
[Feature] commit 前自动检测并校验 pre-commit 配置与本地环境(跨平台) #258
zhaoxufeng创建于  6月3日关闭于  6月4日
zhaoxufeng
zhaoxufeng
6月3日 创建

背景 / 动机

目前使用 gitcode-cli 进行代码提交时,不会感知项目中是否配置了 pre-commit。
当项目存在 pre-commit 配置但本地环境未安装或未初始化时,提交会绕过本应触发的
代码检查,导致未经检查的代码进入仓库。

需求描述

希望 gitcode-cli 在执行代码提交相关操作时:

  1. 检测配置:先检查当前项目是否存在 pre-commit 相关配置
    (如 .pre-commit-config.yaml)。
  2. 校验环境:若存在配置,则检查本地 pre-commit 工具是否已安装。
  3. 校验初始化:检查 pre-commit 是否已完成初始化(git hooks 是否已安装,
    如 .git/hooks/pre-commit)。
  4. 拉起检查:确保提交时能正常拉起 pre-commit 进行代码检查;
    环境缺失或未初始化时给出明确、可操作的提示。

平台兼容性要求

需兼容支持:

  • Windows
  • Linux(x86_64 / arm)
  • macOS

预期收益

  • 避免漏跑 pre-commit 检查导致未检查代码入库
  • 在环境缺失时提前给出清晰引导,降低排查成本
  • 跨平台一致的提交前检查体验

待确认 / 开放问题

  • 检查未通过时的默认行为:阻断提交还是仅告警?是否提供跳过开关?
  • 检测范围是否仅限 .pre-commit-config.yaml,还是也覆盖其他 hook 框架?
likedislike
zhaoxufeng
zhaoxufeng
6月3日 评论:

已提交 PR #220 实现本需求(gc precommit check):https://gitcode.com/gitcode-cli/cli/merge_requests/220

likedislike
Aaflyingto成员
6月4日 关闭了 issue
zhaoxufengzhaoxufeng
6月4日 关联了pull request:feat(precommit): structured reason, install failure categories, stdout-only version (#260)