# Git 工作流程 ## 分支说明 | 分支 | 用途 | 部署环境 | |------|------|---------| | `master` | 生产分支 | 线上生产环境 (45.153.130.80) | | `develop` | 开发集成分支 | 测试/预发布环境 | | `feature/*` | 个人功能分支 | 本地开发环境 | ## 分支结构 ``` master (生产) ↑ 发布合并 ↑ develop (开发) ↑ 功能合并 ↑ ┌──────────────┬────┴────┬──────────────┐ ↓ ↓ ↓ ↓ feature/xxx-1 feature/xxx-2 feature/xxx-3 feature/xxx-4 (个人A) (个人B) (个人A) (个人B) ``` --- ## 一、工作流程 ### 1.1 开发新功能 **从 develop 创建个人功能分支:** ```bash # 确保本地 develop 是最新的 git checkout develop git pull origin develop # 创建个人功能分支(命名规范:feature/功能名 或 feature/功能名-姓名首字母) git checkout -b feature/user-login # 或带姓名标识 git checkout -b feature/user-login-mzl ``` **在功能分支上开发:** ```bash # 开发、提交 git add . git commit -m "feat: add user login" git push origin feature/user-login # 继续开发... git add . git commit -m "fix: correct login error handling" git push origin feature/user-login ``` ### 1.2 功能开发完成 **合并到 develop 进行团队测试:** ```bash # 1. 切换到 develop 并更新 git checkout develop git pull origin develop # 2. 合并功能分支(使用 --no-ff 保留合并历史) git merge --no-ff feature/user-login -m "Merge feature/user-login into develop" # 3. 推送到远程 git push origin develop # 4. (可选)删除已合并的功能分支 git branch -d feature/user-login git push origin --delete feature/user-login ``` ### 1.3 发布到生产 **从 develop 合并到 master:** ```bash # 1. 切换到 master 并更新 git checkout master git pull origin master # 2. 合并 develop(使用 --no-ff 保留合并历史) git merge --no-ff develop -m "Release: merge develop into master" # 3. 添加版本标签(可选) git tag -a v1.0.0 -m "Release version 1.0.0" git push origin v1.0.0 # 4. 推送到远程 git push origin master ``` ### 1.4 生产服务器部署 ```bash ssh root@45.153.130.80 cd /opt/x-server-mobile git pull origin master docker restart x-server-backend # 或 docker-compose -f docker-compose.prod.yml down docker-compose -f docker-compose.prod.yml up -d ``` --- ## 二、分支命名规范 | 分支类型 | 命名格式 | 示例 | |---------|---------|------| | 功能分支 | `feature/功能名` 或 `feature/功能名-姓名` | `feature/user-login`, `feature/user-login-mzl` | | 修复分支 | `fix/问题描述` 或 `fix/问题描述-姓名` | `fix/login-error`, `fix/login-error-mzl` | | 热修复分支 | `hotfix/问题描述` | `hotfix/security-fix` | --- ## 三、前端部署 ```bash # 1. 切换到 master git checkout master git pull origin master # 2. 构建前端 cd frontend npm run build --mode production # 3. 上传到服务器 rsync -avz --delete frontend/dist/ root@45.153.130.80:/www/sites/uniservice-mobile.hnxinyouhe.com/index/ ``` --- ## 四、提交信息规范 | 类型 | 说明 | 示例 | |------|------|------| | `feat` | 新功能 | `feat: add user login` | | `fix` | 修复bug | `fix: correct i18n loading` | | `docs` | 文档变更 | `docs: update deployment guide` | | `style` | 代码格式 | `style: format code` | | `refactor` | 重构 | `refactor: simplify auth logic` | | `test` | 测试相关 | `test: add login test` | | `chore` | 构建/工具 | `chore: update dependencies` | **完整格式:** ``` ():