Files
funstat-mcp/docs/GIT_VERSION_CONTROL.md
2025-11-01 21:58:03 +08:00

8.4 KiB

Git 版本管理指南

项目: Funstat MCP Server 当前版本: v1.0.0 最后更新: 2025-10-26


📋 仓库信息

项目路径: /Users/lucas/chat--1003255561049
Git状态: ✅ 已初始化
分支: main
提交数: 1
标签: v1.0.0

🏷️ 版本标签

v1.0.0 - 首次发布 (2025-10-26)

核心功能:

  • 自动翻页搜索 (数据获取+285%)
  • SSE传输模式
  • 8个MCP工具
  • 完整文档

性能指标:

  • 翻页速度: 6秒/页
  • 数据量: 890条记录
  • 自动化率: 100%

提交信息:

feat: 初始提交 - Funstat MCP 服务器 v1.0.0

53 files changed, 11235 insertions(+)

📂 文件结构

已跟踪的重要文件

✅ .gitignore                          # Git忽略规则
✅ README.md                           # 项目说明文档
✅ claude-code-mcp-config.json         # MCP配置

✅ funstat_mcp/
   ✅ server.py                        # MCP服务器(SSE)
   ✅ search_with_pagination.py        # 翻页搜索
   ✅ search_all_translation.py        # 多关键词搜索
   ✅ test_pagination.py               # 翻页测试
   ✅ requirements.txt                 # Python依赖
   ✅ start_sse.sh                     # SSE启动脚本

✅ 文档/
   ✅ PAGINATION_SUCCESS_REPORT.md     # 翻页功能报告
   ✅ SSE_CONVERSION_COMPLETE.md       # SSE转换文档
   ✅ AGENTAPI_PROXY_SETUP.md          # AgentAPI配置
   ✅ FUNSTAT_MCP_DEPLOYMENT_REPORT.md # 部署报告

被忽略的文件

❌ *.session                           # Telegram会话文件
❌ *.session-journal                   # 会话日志
❌ *.txt                               # 数据文本文件
❌ *.json (除配置文件外)                # 数据JSON文件
❌ __pycache__/                        # Python缓存
❌ *.log                               # 日志文件
❌ .DS_Store                           # macOS系统文件

🔧 常用Git命令

查看状态

# 查看工作区状态
git status

# 查看提交历史
git log --oneline

# 查看详细提交历史
git log --graph --decorate --all

# 查看所有标签
git tag -l -n9

创建提交

# 添加所有更改
git add .

# 添加特定文件
git add funstat_mcp/server.py

# 提交更改
git commit -m "feat: 添加新功能"

# 使用多行提交信息
git commit -m "$(cat <<'EOF'
feat: 功能标题

详细说明...

🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
EOF
)"

版本标签

# 创建带注释的标签
git tag -a v1.1.0 -m "版本 1.1.0 说明"

# 查看标签
git tag -l

# 查看标签详情
git show v1.0.0

# 删除标签
git tag -d v1.0.0

分支管理

# 创建分支
git branch feature/new-feature

# 切换分支
git checkout feature/new-feature

# 创建并切换
git checkout -b feature/new-feature

# 合并分支
git checkout main
git merge feature/new-feature

# 删除分支
git branch -d feature/new-feature

撤销操作

# 撤销工作区更改
git checkout -- file.py

# 撤销暂存
git reset HEAD file.py

# 修改最后一次提交
git commit --amend

# 回退到上一个提交
git reset --soft HEAD^

📝 提交规范

Commit Message 格式

<type>(<scope>): <subject>

<body>

<footer>

Type 类型

类型 说明 示例
feat 新功能 feat: 添加自动翻页功能
fix Bug修复 fix: 修复session锁定问题
docs 文档更新 docs: 更新README
style 代码格式 style: 格式化代码
refactor 重构 refactor: 优化搜索逻辑
perf 性能优化 perf: 提升翻页速度
test 测试 test: 添加翻页测试
chore 构建/工具 chore: 更新依赖

示例

# 功能添加
git commit -m "feat: 添加多关键词搜索功能

- 支持批量搜索多个关键词
- 自动去重
- 导出JSON/TXT格式

🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>"

# Bug修复
git commit -m "fix: 修复数据库锁定问题

确保同一时间只有一个进程访问session文件

Fixes #123"

# 文档更新
git commit -m "docs: 完善翻页功能文档

添加使用示例和性能指标"

🌿 分支策略

主要分支

  • main - 稳定版本,用于发布
  • develop - 开发分支,用于日常开发

功能分支

# 命名规范: feature/<功能名>
git checkout -b feature/pagination
git checkout -b feature/export-excel
git checkout -b feature/web-ui

修复分支

# 命名规范: fix/<问题描述>
git checkout -b fix/session-lock
git checkout -b fix/button-click

发布分支

# 命名规范: release/v<版本号>
git checkout -b release/v1.1.0

📦 版本号规范

采用 语义化版本 (Semantic Versioning):

v<major>.<minor>.<patch>

说明

  • major - 主版本号,不兼容的API更改
  • minor - 次版本号,向后兼容的功能新增
  • patch - 修订号,向后兼容的问题修正

示例

v1.0.0 → v1.0.1  (Bug修复)
v1.0.1 → v1.1.0  (新功能)
v1.1.0 → v2.0.0  (重大更改)

🔄 开发工作流

1. 功能开发

# 1. 创建功能分支
git checkout -b feature/new-search-mode

# 2. 开发并提交
git add .
git commit -m "feat: 添加新搜索模式"

# 3. 测试通过后合并
git checkout main
git merge feature/new-search-mode

# 4. 打标签发布
git tag -a v1.1.0 -m "新增搜索模式"

2. Bug修复

# 1. 创建修复分支
git checkout -b fix/urgent-bug

# 2. 修复并提交
git add .
git commit -m "fix: 修复紧急bug"

# 3. 合并到主分支
git checkout main
git merge fix/urgent-bug

# 4. 打补丁版本
git tag -a v1.0.1 -m "修复bug"

📊 项目统计

当前统计

# 查看代码统计
git ls-files | wc -l          # 文件数: 53
git log --oneline | wc -l     # 提交数: 1
git tag | wc -l                # 标签数: 1

# 查看代码行数
git ls-files | xargs wc -l    # 总行数: 11235

贡献者

# 查看贡献者列表
git shortlog -sn

# 当前贡献者:
# Lucas & Claude Code

🚀 最佳实践

DO - 应该做的

  1. 频繁提交 - 小步快跑,每个功能点提交一次
  2. 清晰的消息 - 使用规范的commit message
  3. 功能分支 - 每个功能使用独立分支
  4. 测试后合并 - 确保测试通过后再合并
  5. 打标签 - 每次发布都打版本标签
  6. 写文档 - 重要更改更新文档

DON'T - 不应该做的

  1. 不要提交敏感信息(密钥、session文件)
  2. 不要提交大文件(数据文件、日志)
  3. 不要直接在main分支开发
  4. 不要使用无意义的commit message
  5. 不要强制推送到main分支
  6. 不要忘记更新.gitignore

🔒 安全提醒

敏感文件保护

# 检查是否意外提交了敏感文件
git ls-files | grep -E "\.session|\.env|config_local"

# 如果意外提交,从历史中移除
git filter-branch --force --index-filter \
  "git rm --cached --ignore-unmatch *.session" \
  --prune-empty --tag-name-filter cat -- --all

.gitignore 检查

# 确认关键文件被忽略
cat .gitignore | grep -E "session|\.env|config_local"

📖 参考资源

Git 学习资源

项目相关文档


🎯 快速命令参考

# 状态查看
git status                    # 工作区状态
git log --oneline            # 提交历史
git tag -l                    # 标签列表

# 提交流程
git add .                     # 暂存所有更改
git commit -m "message"       # 提交
git tag -a v1.0.0 -m "msg"   # 打标签

# 分支操作
git branch                    # 查看分支
git checkout -b feature/xxx   # 创建并切换分支
git merge feature/xxx         # 合并分支

# 查看差异
git diff                      # 工作区 vs 暂存区
git diff --staged            # 暂存区 vs 仓库
git diff HEAD                # 工作区 vs 仓库

最后更新: 2025-10-26 Git版本: 2.x 状态: 版本管理已配置