# 更新日志

本文档记录项目的所有重要变更。

格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/)，
版本号遵循 [语义化版本](https://semver.org/lang/zh-CN/)。

## [2.0.0] - 2026-06-26

### 新增

- `into` 命令：检查 B 是否已合并到 A（`feops into <target> <source>`）
- `branch` / `merged` / `into` / `uptodate` 支持 `-o, --output <file>` 导出 Markdown 检查报告

### 变更（Breaking）

- `branch` 默认从本地分支列表搜索改为优先检查 `origin/*` 远程跟踪分支
- `merged` / `uptodate` 默认从本地优先改为远程优先（远程不存在时回退本地）
- `branch --remote` 标记为弃用，行为与默认相同；新增 `--local` 恢复旧行为

### 改进

- 抽取共用 `resolveGitRef` 工具，统一分支 ref 解析逻辑
- 抽取共用 `mergeCheck` 模块，`merged` 与 `into` 复用合并检查逻辑
- `merged` / `into` 新增 `--merge-mode`（strict/content/auto），auto 模式支持 squash merge 补丁等价检测
- 合并检查结果展示实际 Ref、检测模式、待合入提交数
- 修复 `uptodate` 的 `behindCommits` 与主判断 ref 不一致的问题

## [1.1.0] - 2026-05-26

### 新增
- ✨ 支持多 Group 独立本地目录配置（`group.directory`）
- ✨ `sync` 命令：按 Group 目录分别克隆/更新，新增 `--group` 选项
- ✨ `branch` / `merged` / `uptodate` 命令：未指定 `-d` 时自动扫描所有 Group 目录，新增 `--group` 选项
- ✨ `init` / `config add-group`：支持为每个 Group 配置本地目录
- ✨ 新增多 Group 目录验证测试脚本（`npm test`）

### 改进
- 🔄 `config list`：显示 Group 与本地目录映射
- 🔄 旧配置兼容：未设置 `group.directory` 时仍使用 `defaults.directory`

## [1.0.1] - 2025-11-21

### 新增
- ✨ `sync` 命令：添加未提交更改检查功能，切换分支前检查是否有未提交的更改
- ✨ `sync` 命令：跳过有未提交更改的仓库，并在结果中以表格形式展示
- ✨ `sync` 命令：显示被跳过仓库的当前分支名

### 改进
- 🔄 `sync` 命令：优化结果展示，使用表格展示跳过的仓库信息
- 🔄 文档：合并所有文档到 README.md，采用单文档结构
- 🔄 代码质量：改进错误处理和类型安全

### 修复
- 🐛 `sync` 命令：修复分支切换时未处理分支不存在的情况
- 🐛 `sync` 命令：修复并发处理时的潜在问题

## [1.0.0] - 2025-11-05

### 新增
- 🎉 初始版本发布
- ✨ 包名：`@wangxyu/feops`，CLI 命令：`feops`
- ✨ `init` 命令：交互式初始化配置向导
- ✨ `config` 命令：配置管理（查看、修改、Group 管理、黑名单编辑）
- ✨ `sync` 命令：智能同步仓库（自动判断克隆或更新）
- ✨ `list` 命令：列出所有 GitLab 仓库，支持过滤和排序
- ✨ `branch` 命令：查找包含指定分支的项目
- ✨ `merged` 命令：检查分支是否已合并到目标分支
- ✨ `uptodate` 命令：检查分支是否包含最新的目标分支代码
- ✨ `upgrade` 命令：检查和更新 feops 工具本身
- ✨ GitLab API 集成：自动从 GitLab API 获取仓库列表
- ✨ 支持多个 GitLab Group 配置
- ✨ 黑名单功能：支持过滤不需要的仓库
- ✨ 并发处理：可配置并发数量，提高处理效率
- ✨ 进度显示：实时显示处理进度和统计信息
- ✨ 自动更新检查：每 24 小时自动检查新版本
- ✨ 配置文件管理：存储在 `~/.feops/` 目录

### 功能特性
- 🔧 配置管理：在用户目录下管理配置，支持多个 GitLab Group
- 🔗 GitLab API 集成：自动从 GitLab API 获取仓库列表
- 🚀 智能同步：自动判断克隆新仓库或更新已存在仓库
- 🎯 智能过滤：支持黑名单功能，灵活过滤仓库
- 📊 进度显示：实时显示处理进度和统计信息
- ⚡ 高性能：可配置并发数量，提高处理效率
- 🛡️ 错误处理：完善的错误处理和重试机制
- 🔍 分支管理：查找分支、检查合并状态、验证代码更新
- 🔄 自动更新：自动检查并更新到最新版本

---

## 版本说明

- **主版本号**：不兼容的 API 修改
- **次版本号**：向下兼容的功能性新增
- **修订号**：向下兼容的问题修正

## 链接

- [GitHub 仓库](https://github.com/workwsl/feops)
- [npm 包](https://www.npmjs.com/package/@wangxyu/feops)

