Claude-skill-registry git-safety
Git 操作安全与规范。强制要求使用 git 原生命令处理受控文件,防止丢失索引或产生冗余变更。当 Agent 尝试移动、重命名或删除文件时触发。
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/git-safety" ~/.claude/skills/majiayu000-claude-skill-registry-git-safety && rm -rf "$T"
manifest:
skills/data/git-safety/SKILL.mdsource content
Git Safety & Standards
该 Skill 旨在确保在 Git 仓库中进行文件操作时的安全性和历史完整性。
核心准则
1. 移动与重命名 (Move & Rename)
- 禁止直接使用
命令操作受 Git 跟踪的文件。mv - 强制使用
。git mv <old_path> <new_path> - 理由:确保 Git 自动跟踪文件重构,保留文件的 Git History,避免识别为“删除 + 新增”。
2. 删除 (Delete)
- 禁止直接使用
或rm
操作受 Git 跟踪的文件。rm -rf - 强制使用
或git rm <path>
。git rm -r <path> - 理由:直接从工作区和索引中同步移除,避免残留未跟踪的删除变更。
3. 操作前自检流程
当 Agent 准备操作文件时,应遵循以下逻辑:
- 检查状态:执行
。git ls-files <path> - 判断:
- 如果有输出(说明文件受控)→ 使用
/git mv
。git rm - 如果无输出(说明是未跟踪文件)→ 使用普通
/mv
。rm
- 如果有输出(说明文件受控)→ 使用
适用场景
- 重构代码导致的文件目录结构调整。
- 删除过时的文档或代码文件。
- 项目清理。
约束
- 严禁在未确认文件状态的情况下盲目使用普通文件管理命令。
- 在执行大规模移动操作前,建议先执行
确保工作区是干净的。git status