# Task Breakdown / 任务拆分

## Overview / 概述

| Status      | Count |
| ----------- | ----- |
| Total       | 6     |
| Done        | 6     |
| In Progress | 0     |
| Pending     | 0     |

## Tasks / 任务列表

### High Priority / 高优先级

- [x] T1: 实现 Git 环境检测
  - 检查 git 命令是否可用
  - 定位 git 仓库根目录
  - 自动切换到仓库根目录执行

- [x] T2: 实现忽略文件检测
  - 使用 `git ls-files -ci --exclude-standard` 获取文件列表
  - 解析输出并过滤空行
  - 无文件时提前退出

- [x] T3: 实现确认交互
  - 显示待处理文件列表
  - 输出危险操作警告信息
  - 等待用户输入 y/N 确认
  - 支持 --yes/-y 参数跳过确认

### Medium Priority / 中优先级

- [x] T4: 实现文件备份与恢复
  - 创建临时目录存储备份
  - 复制工作目录中的忽略文件到临时目录
  - filter-branch 完成后从临时目录恢复文件
  - 保持原有目录结构

- [x] T5: 实现 git filter-branch 历史重写
  - 使用 --index-filter 配合 git rm --cached
  - 使用 xargs -0 处理特殊字符文件名
  - 设置 FILTER_BRANCH_SQUELCH_WARNING 环境变量
  - 使用 --prune-empty 清理空提交
  - 使用 --tag-name-filter cat 保留标签名
  - 使用 --all 处理所有分支

### Low Priority / 低优先级

- [x] T6: 集成到 CLI 命令系统
  - 定义 RewriteIgnoreArgs 结构 (yes 参数)
  - 添加到 GitCommands 枚举
  - 实现 handle_git_command 分支
  - 编写集成测试
