讲师中心 微信公众号
AI工具推荐 视频效率加速

git-dirty-check

Polar Sponsor
爱发电 赞助
.NET 9.0

对本地 Git 工作树进行只读整理,汇总未提交变更并给出保守风险标记。用于用户询问…的变更。

git- dirty- check. 用于总结本地寄存器中未承诺的更改的狭义 git 技能

功能概述

git- dirty- check. 用于总结本地寄存器中未承诺的更改的狭义 git 技能是一项面向实际任务的技能,主要用于它分组了已显示、 未显示、 未跟踪和冲突条目, 应用了保守路径和文件。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。

核心要点

  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
  • 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

使用与执行

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。

结果检查与注意事项

执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

git-dirty-check

一项专注的 git 技能,用于汇总本地仓库中未提交的变更。它将已暂存(staged)、未暂存(unstaged)、未跟踪(untracked)和冲突(conflicted)的条目分组,基于路径与文件名应用保守的风险标记,并在不修改仓库状态的前提下,建议最多三项后续检查操作。

git-dirty-check 是一项刻意设计为高度专注的技能,仅完成一个任务:理解本地 git 仓库当前未提交的状态。

它不会尝试管理分支、撰写提交信息、解决冲突、审查 pull request,也不会充当通用的 git 助手。相反,它提供一份紧凑、结构化的当前工作树初步评估(triage),涵盖以下方面:

  • 仓库状态(repo state)
  • 按类别归类的变更条目
  • 主要基于路径、文件名及 diff 统计信息的保守风险标记
  • 若干可直接复制粘贴执行的后续检查命令
  • 当细节因限制或敏感性而被截断时,明确说明遗漏项

该技能为只读操作。其设计目标是服务于开发者在提交前、交接前或本地审查前快速获取运行态摘要,无需授予写入权限,亦不触发更广泛的仓库辅助行为。

它还对深度检查施加了严格限制:

  • 若目标路径不在 git 仓库内,则立即失败
  • 分支元数据为可选字段
  • 深度 diff 检查设有上限
  • 含密钥特征的文件名模式仅在文件名层级进行处理

当原始 git 输出在技术上已足够,但人工解析效率低于一份稳定、结构化的 triage 摘要时,此技能最为实用。

工作流

  1. 确认目标路径位于 git 仓库内部。
  2. 若目标路径不在 git 仓库中,则立即中止并明确说明。
  3. 使用 git status 和 git diff --stat 等只读命令收集仓库状态。
  4. 将变更条目按以下四类分组:
    • 已暂存(staged)
    • 未暂存(unstaged)
    • 未跟踪(untracked)
    • 冲突(conflicted)
  5. 主要依据文件路径与文件名应用保守风险标记。
  6. 仅当文件名与 diff-stat 数据不足以判定是否应启用某项风险标记,且该文件未命中“含密钥特征的文件规则”时,才对 diff 内容进行检查。
  7. 按下方定义的固定顺序返回输出结果。

优先使用的命令

仅使用只读命令。

推荐命令:

  • git rev-parse --show-toplevel
  • git rev-parse --abbrev-ref HEAD
  • git status --short
  • git diff --stat
  • git diff --cached --stat

深度 diff 检查仅可在深度检查上限范围内进行,且仅适用于未命中“含密钥特征的文件规则”的文件。

快速失败规则(Fail-Fast Rule)

若目标路径不在 git 仓库中:

  • 立即中止
  • 报告该路径并非 git 仓库
  • 不得继续执行通用文件系统分析

分支处理

分支名称仅为可选元数据。 若可通过推荐的只读命令获取分支名,则将其包含在“Repo state”中; 若在有效仓库中无法获取 HEAD 或分支名查询失败,则静默省略分支元数据,不报错; 不提供任何关于分支的建议。

深度 diff 检查上限

深度 diff 检查为可选操作,且必须保持高度受限。

硬性限制:

  • 最多检查 3 个文件
  • 每个文件最多检查 40 行
  • 对含密钥特征的文件,绝不超出文件名层级进行检测

仅当文件未命中“含密钥特征的文件规则”,且文件名与 diff-stat 数据不足以判定或排除某项已列出的风险标记时,才启用深度 diff 检查。

含密钥特征的文件规则(Secret-Bearing File Rule)

对匹配以下含密钥特征文件名模式的文件,仅做文件名层级处理。

示例:

  • .env
  • .env.*
  • *.pem
  • *.key
  • id_rsa
  • id_ed25519
  • secrets.*

对上述文件:

  • 不检查 diff 内容
  • 不打印任何值
  • 仅报告该条目命中了含密钥特征的文件名模式

保守风险启发式规则(Conservative Risk Heuristics)

风险标记须保持保守,且主要基于路径与文件名判断。

标记示例:

  • 依赖清单文件(dependency manifest)已变更
  • 锁文件(lockfile)已变更
  • 清单文件变更但锁文件未变更
  • 锁文件变更但清单文件未变更
  • CI 或工作流文件已变更
  • 疑似部署或基础设施相关文件已变更
  • 疑似认证或安全相关文件已变更
  • 疑似迁移或数据库 schema 文件已变更
  • 变更路径数量超过 10 个
  • 条目命中含密钥特征的文件名模式

不得过度解读,避免做出推测性的影响声明。

输出顺序

始终按以下**精确顺序**返回各节内容:

  1. Repo state
  2. Changed files by category
  3. Risk flags
  4. Suggested next checks
  5. Unknowns or omitted detail

输出规范

保持响应简洁、结构清晰。

1. Repo state

包含以下内容:

  • 仓库根目录(repo root)
  • 分支名称(仅作为可选元数据)
  • 已暂存、未暂存、未跟踪、冲突文件的数量统计

2. Changed files by category

在以下四类下分别列出条目:

  • staged
  • unstaged
  • untracked
  • conflicted

若某类条目 ≤10 个,则全部直接列出;否则仅列出前 10 个,并对剩余条目作概括说明。

3. Risk flags

仅列出由文件名、路径、diff 统计信息,或经严格限制的非敏感 diff 样本所支持的保守风险标记。

4. Suggested next checks

提供 1 至 3 条可直接复制粘贴执行的命令,优先选用只读命令。

5. Unknowns or omitted detail

明确说明哪些内容被有意跳过检查,例如:

  • 因上限限制而省略 diff 内容
  • 敏感文件仅检查文件名,未深入内容
  • 大型仓库细节仅作概括性呈现

能力边界

严禁执行以下任何操作:

  • 修改 git 状态
  • 执行 stage、unstage、commit、stash、reset、checkout、merge、rebase 或 push
  • 撰写提交信息
  • 提供分支策略建议
  • 扩展为 PR 审查或通用 git 帮助
  • 从 diff 中暴露疑似密钥的值
  • 执行网络操作

保持专注。本技能存在的唯一目的是回答:“此处发生了哪些变更?适用哪些保守风险标记?”

触发示例

  • “这个仓库里有什么变更?”
  • “汇总我当前未提交的变更。”
  • “这里有哪些 dirty 变更?”
  • “给我一份快速的 git 变更初步评估。”
  • “在我提交前,有哪些变更?适用哪些风险标记?”
  • “展示这个仓库中已暂存、未暂存与未跟踪的变更。”

非触发示例(Anti-trigger examples)

  • “帮我写一条提交信息。”
  • “帮我解决这个合并冲突。”
  • “审查这个 PR。”
  • “撤销我上一次提交。”
  • “清理我的分支。”
  • “在这个仓库里定位 bug。”
  • “重构这些文件。”
  • “解释一下 git rebase。”

限制条件

  • 仅支持只读操作,不修改任何 git 状态
  • 聚焦于当前未提交状态,不涉及历史记录
  • 风险标记保守且主要基于路径与文件名
  • 密钥检测仅依赖文件名模式,不执行完整密钥扫描
  • 深度 diff 检查受到严格限制
  • 摘要的实用性取决于仓库内文件命名与目录结构的清晰程度
  • 不能替代完整的代码审查或专业的 git 知识

安全说明

  • 仅使用只读 git 命令
  • 不执行 stage、unstage、commit、stash、reset、checkout、merge、rebase 或 push
  • 不执行任何网络操作
  • 对非仓库路径立即失败
  • 对含密钥特征的文件,绝不超出文件名层级进行检测
  • 避免从 diff 中暴露疑似密钥的值
  • 输出范围严格限定于 triage 场景,不覆盖通用仓库管理功能
目录

热门AI工具

更多
WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

相关专题

更多
git怎么对比两个版本的文件内容
git怎么对比两个版本的文件内容

要对比两个版本的 git 文件,请使用 git diff 命令:git diff 比较工作树和暂存区之间的差异。git diff 比较两个提交或标签之间的差异。git diff 输出显示差异块,其中 + 表示添加的行,- 表示删除的行, 表示修改的行。可使用 gitkraken、meld、beyond compare 等可视化工具更直观地查看差异。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2281

2024.04.09

git提交错误怎么撤回
git提交错误怎么撤回

git提交错误撤回的方法:git reset head^:撤回最后一次提交,恢复到提交前状态。git revert head:创建新提交,内容与之前提交相反。git reset :使用提交的 sha-1 哈希撤回指定提交。交互式舞台区:标记要撤回的特定更改,然后提交,排除已撤回更改。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2517

2024.04.09

git撤销提交的commit
git撤销提交的commit

Git是一个强大的版本控制系统,它提供了很多功能帮助开发人员有效地管理和控制代码的变更,本专题为大家提供git 撤销提交的commit相关的各种文章内容,供大家免费下载体验。

714

2023.07.24

git和svn的区别
git和svn的区别

git和svn的区别:1、定义不同;2、模型类型不同;3、存储单元不同;4、是否拥有全局版本号;5、内容完整性不同;6、版本库不同;7、克隆目录速度不同;8、分支不同。php中文网为大家带来了git和svn的相关知识、以及相关文章等内容。

1260

2023.07.06

自建git服务器
自建git服务器

git服务器是目前流行的分布式版本控制系统之一,可以让多人协同开发同一个项目。本专题为大家提供自建git服务器相关的各种文章、以及下载和课程。

3859

2023.07.05

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

0

2026.10.22

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

0

2026.10.22

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

0

2026.10.22

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

0

2026.10.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
vscode手册
vscode手册

共0课时 | 0人学习

Git 教程
Git 教程

共21课时 | 8.1万人学习

Git版本控制工具
Git版本控制工具

共8课时 | 1.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn