# Git 提交规范 > **版本:** v1.3 > **创建日期:** 2025-11-16 > **更新日期:** 2026-01-22 > **适用范围:** 全项目(前端 + 后端 + 文档) > **优先级:** ⭐⭐⭐⭐⭐ P0 必须遵守 --- ## 🚨 紧急警告:必须每日提交! > **🔴🔴🔴 血泪教训:DC模块代码全部丢失事件(2025-11-28)🔴🔴🔴** ### 事件回顾 **时间**:2025-11-27 - 2025-11-28 **丢失内容**:DC模块完整代码(约2天开发量) - ❌ 4个Prisma数据表定义 - ❌ 4个Service类(HealthCheckService、TemplateService等) - ❌ Controller和Routes - ❌ 所有TypeScript代码文件 **保留内容**: - ✅ 设计文档(数据库设计、API设计) - ✅ 开发记录(Day2、Day3完成总结) - ✅ 空目录结构 **丢失原因**: - ❌ **代码写完后未提交到Git** - ❌ **代码仅存在于Cursor临时缓存中** - ❌ **Cursor缓存清理后,代码永久丢失** - ❌ **Git中无任何提交记录,无法恢复** ### 🔥 强制规则(立即生效) ```bash # ⭐⭐⭐⭐⭐ 每天下班前必须执行(无例外!) git status git add . git commit -m "feat(module): Complete Day X development" git push origin master # ⚠️ 不提交 = 代码随时可能丢失! ``` **提交时机(任选其一,发生时必须提交):** 1. ✅ **每天下班前**(最重要!无论代码是否完美) 2. ✅ **每次长时间离开电脑前**(午休、会议、外出) 3. ✅ **完成重要功能后** 4. ✅ **准备关闭Cursor前** 5. ✅ **电脑出现异常前**(如卡顿、死机征兆) **绝对禁止:** - 🔴 **禁止**依赖Cursor自动保存(Cursor不保证持久化) - 🔴 **禁止**"稍后再提交"(稍后可能就忘记了) - 🔴 **禁止**代码过夜不提交(一夜之间可能丢失) - 🔴 **禁止**"代码还没完善不想提交"(不完善也要提交,总比丢失强) ### 💡 最佳实践 **每日工作流(推荐):** ```bash # 早上开始工作 git pull origin master # 拉取最新代码 # 开发过程中... # [编写代码、测试功能] # 🔥 每天下班前(强制执行!) git status # 查看修改 git add . # 添加所有修改 git commit -m "feat(dc): Complete Day 2 - HealthCheck and Template services Summary: - Implement HealthCheckService with Excel parsing - Implement TemplateService with 3 preset templates - Add 4 Prisma models (dc_health_checks, dc_templates, etc.) - Update documentation Status: Basic functionality verified, ready for testing" git push origin master # 推送到远程 # 现在可以安心下班!代码已安全备份 ✅ ``` **🎯 记住:Git是代码的唯一可靠备份!未提交的代码 = 不存在的代码!** --- ## 📋 目录 1. [远程仓库配置](#远程仓库配置) 2. [Commit Message 规范](#commit-message-规范) 3. [提交频率与时机](#提交频率与时机) ⭐ 重要原则 4. [分支管理策略](#分支管理策略) 5. [中文编码问题解决](#中文编码问题解决) 6. [Git 历史重写与维护](#git-历史重写与维护) 7. [代码审查流程](#代码审查流程) 8. [常见问题与最佳实践](#常见问题与最佳实践) --- ## 远程仓库配置 ### 🌐 Gitee 仓库信息 **仓库地址:** ``` https://gitee.com/hahafeng117/AIclinicalresearch.git ``` **全局配置:** ```bash git config --global user.name "HaHafeng" git config --global user.email "gofeng117@163.com" ``` **中文编码配置:** ⭐ 重要 ```bash # 确保 Git 正确处理中文文件名和提交信息 git config --global core.quotepath false git config --global gui.encoding utf-8 git config --global i18n.commit.encoding utf-8 git config --global i18n.logoutputencoding utf-8 ``` **PowerShell 配置:** ```powershell # 在 PowerShell Profile 中添加($PROFILE 文件) [Console]::OutputEncoding = [System.Text.Encoding]::UTF8 $env:LESSCHARSET = 'utf-8' ``` ### 克隆仓库 ```bash # 初次克隆 git clone https://gitee.com/hahafeng117/AIclinicalresearch.git # 查看远程仓库 git remote -v ``` --- ## Commit Message 规范 ### ⚠️ 重要提示:避免中文乱码 **强制要求:Commit Message 必须使用英文** ⭐⭐⭐ **原因**: - Windows PowerShell 环境下,Git commit message 中的中文会出现乱码 - 中文乱码会导致提交历史难以阅读,影响团队协作 - 英文 commit message 是国际开源项目的标准实践 **✅ 正确示例:** ```bash git commit -m "feat(asl): Implement full-text screening core service" git commit -m "fix(frontend): Fix dropdown menu click issue" git commit -m "docs: Add development guide for Day 2-3" ``` **❌ 错误示例:** ```bash git commit -m "feat(asl): 实现全文复筛核心服务" # 会出现乱码 git commit -m "修复下拉菜单问题" # 会出现乱码 ``` **例外情况**: - 文件名和文件内容可以使用中文(Git 能正确处理 UTF-8 编码的文件) - 仅 commit message 必须使用英文 --- ### 📝 格式规范 **标准格式:** ``` ():