f82855141e
- 明确开发分支和发布分支的职责 - 发布分支用于部署和打包 - 开发分支用于日常开发 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
87 lines
1.9 KiB
Markdown
87 lines
1.9 KiB
Markdown
# Git 工作流程
|
|
|
|
## 分支说明
|
|
|
|
| 分支 | 用途 | 部署环境 |
|
|
|------|------|---------|
|
|
| `master` | 发布分支 | 线上生产环境 (45.153.130.80) |
|
|
| `feature/mzl-dev` | 开发分支 | 本地开发环境 |
|
|
|
|
## 工作流程
|
|
|
|
### 日常开发
|
|
|
|
1. **开发功能** - 在 `feature/mzl-dev` 分支开发
|
|
```bash
|
|
git checkout feature/mzl-dev
|
|
git pull origin feature/mzl-dev
|
|
# 开发、提交
|
|
git add .
|
|
git commit -m "feat: xxx"
|
|
git push origin feature/mzl-dev
|
|
```
|
|
|
|
2. **发布上线** - 合并到 `master` 分支
|
|
```bash
|
|
git checkout master
|
|
git pull origin master
|
|
git merge feature/mzl-dev --no-edit
|
|
git push origin master
|
|
```
|
|
|
|
3. **服务器部署** - 拉取 `master` 分支
|
|
```bash
|
|
ssh root@45.153.130.80
|
|
cd /opt/x-server-mobile
|
|
git pull origin master
|
|
docker-compose -f docker-compose.prod.yml down
|
|
docker-compose -f docker-compose.prod.yml up -d
|
|
```
|
|
|
|
## 前端部署
|
|
|
|
```bash
|
|
# 1. 切换到发布分支
|
|
git checkout master
|
|
|
|
# 2. 构建前端
|
|
cd frontend
|
|
npm run build
|
|
|
|
# 3. 上传到服务器(本地执行)
|
|
rsync -avz --delete frontend/dist/ root@45.153.130.80:/www/sites/uniservice-mobile.hnxinyouhe.com/index/
|
|
|
|
# 或使用部署脚本
|
|
cd ..
|
|
./deploy/deploy-1panel.sh 45.153.130.80
|
|
```
|
|
|
|
## 快速发布脚本
|
|
|
|
```bash
|
|
# 添加到 ~/.bashrc 或 ~/.zshrc
|
|
git-release() {
|
|
echo "=== 发布到 master ==="
|
|
git checkout master && \
|
|
git pull origin master && \
|
|
git merge feature/mzl-dev -m "Merge feature/mzl-dev to master" && \
|
|
git push origin master && \
|
|
git checkout feature/mzl-dev
|
|
echo "=== 发布完成 ==="
|
|
}
|
|
```
|
|
|
|
## 提交信息规范
|
|
|
|
| 类型 | 说明 | 示例 |
|
|
|------|------|------|
|
|
| `feat` | 新功能 | `feat: add user login` |
|
|
| `fix` | 修复bug | `fix: correct i18n loading` |
|
|
| `docs` | 文档变更 | `docs: update deployment guide` |
|
|
|
|
## 远程仓库
|
|
|
|
- 仓库地址:http://219.157.255.213:25311/xinyouhe/x-server-mobile.git
|
|
- 发布分支:`master`
|
|
- 开发分支:`feature/mzl-dev`
|