feat: add one-click startup scripts for project management

- Add start.sh/start.bat for one-click startup (backend + frontend)
- Add stop.sh/stop.bat for stopping all services
- Add restart.sh for restarting services
- Add status.sh for checking service status
- Add Makefile with convenient management commands
- Add comprehensive documentation (ONE_CLICK_START.md)
- Update README with one-click startup instructions

Features:
- Automatic environment checking (venv, node_modules)
- Process management with PID tracking
- Unified log management (logs/*.log)
- Health checking after startup
- Support for Linux, macOS, and Windows
- No more need for multiple terminal windows

Usage:
  ./start.sh      # Start all services
  ./stop.sh       # Stop all services
  ./status.sh     # Check service status
  ./restart.sh    # Restart services
  make start      # Alternative using Makefile

Benefits:
- One command instead of multiple terminals
- Automatic environment validation
- Centralized logging
- Process lifecycle management
- Developer-friendly output messages
This commit is contained in:
2026-03-22 02:49:22 +00:00
parent acd73431ae
commit 344a750cfb
11 changed files with 1521 additions and 9 deletions

333
docs/GITEA_CONFIG.md Normal file
View File

@@ -0,0 +1,333 @@
# Git 远程仓库配置完成
## ✅ 已完成的操作
### 1. 创建 Gitea 仓库
使用 Gitea API 成功创建仓库:
- **仓库地址**: http://192.168.120.110:4000/dazhuang/erp-ass
- **仓库名称**: erp-ass
- **所有者**: dazhuang
- **权限**: 公开仓库
- **描述**: ERP AI Assistant - 一零软件智能配置助手
### 2. 配置 Git 用户信息
```bash
git config user.name "dazhuang"
git config user.email "dazhuang@foshanhuiya.com"
```
### 3. 添加远程仓库
```bash
git remote add origin http://dazhuang:47b0128cbdbd40de728072c609b55d4413b7fe6d@192.168.120.110:4000/dazhuang/erp-ass.git
```
**认证方式**: HTTP + Access Token
### 4. 重命名分支
将本地分支从 `master` 重命名为 `main`(与 Gitea 默认分支一致):
```bash
git branch -M main
```
### 5. 推送代码
成功推送代码到远程仓库:
```bash
git push -u origin main
```
**推送结果**:
- 分支: main
- 提交: acd7343 (feat: implement ERP AI Assistant Phase 1)
- 文件: 60 个文件
- 代码行数: 11,284 行
## 📊 仓库信息
### 访问地址
- **Web 界面**: http://192.168.120.110:4000/dazhuang/erp-ass
- **HTTP 克隆**: http://192.168.120.110:4000/dazhuang/erp-ass.git
- **SSH 克隆**: git@192.168.120.110:dazhuang/erp-ass.git
### 仓库状态
```
分支: main
状态: 与远程同步
最新提交: acd7343 feat: implement ERP AI Assistant Phase 1
```
## 🔧 后续操作
### 克隆仓库
其他团队成员可以克隆仓库:
**HTTP 方式(推荐)**:
```bash
git clone http://192.168.120.110:4000/dazhuang/erp-ass.git
cd erp-ass
```
**SSH 方式**:
```bash
git clone ssh://git@192.168.120.110:4022/dazhuang/erp-ass.git
cd erp-ass
```
### 日常开发流程
#### 1. 获取最新代码
```bash
git pull origin main
```
#### 2. 创建新功能分支
```bash
git checkout -b feature/new-feature
```
#### 3. 开发并提交
```bash
# 修改文件...
git add .
git commit -m "feat: add new feature"
```
#### 4. 推送到远程
```bash
git push origin feature/new-feature
```
#### 5. 在 Gitea 创建 Pull Request
访问仓库 Web 界面创建 PR
#### 6. 合并后删除分支
```bash
git checkout main
git pull origin main
git branch -d feature/new-feature
git push origin --delete feature/new-feature
```
## 🔐 认证信息
### HTTP 认证
使用 Access Token 认证URL 格式:
```
http://用户名:AccessToken@服务器地址/仓库路径.git
```
**注意**:
- Access Token 已嵌入远程 URL
- 无需每次输入密码
- Token 权限:读写仓库
### SSH 认证(可选)
如果需要使用 SSH 方式:
1. **生成 SSH 密钥**:
```bash
ssh-keygen -t ed25519 -C "dazhuang@foshanhuiya.com"
```
2. **查看公钥**:
```bash
cat ~/.ssh/id_ed25519.pub
```
3. **添加到 Gitea**:
- 访问 http://192.168.120.110:4000/user/settings/keys
- 添加 SSH 公钥
4. **更新远程 URL**:
```bash
git remote set-url origin git@192.168.120.110:dazhuang/erp-ass.git
```
5. **配置 SSH 端口**(因为使用了非标准端口 4022:
编辑 `~/.ssh/config`:
```
Host 192.168.120.110
Port 4022
User git
IdentityFile ~/.ssh/id_ed25519
```
## ⚙️ Git 配置
### 当前配置
查看本地配置:
```bash
git config --list --local
```
### 推荐的全局配置
```bash
# 设置默认分支名
git config --global init.defaultBranch main
# 设置推送默认行为
git config --global push.default simple
# 设置拉取默认行为
git config --global pull.rebase false
# 设置凭证缓存
git config --global credential.helper cache --timeout=3600
# 设置编辑器
git config --global core.editor vim
# 设置中文文件名显示
git config --global core.quotePath false
```
## 📝 团队协作规范
### 分支命名规范
- `main` - 主分支(生产环境)
- `develop` - 开发分支
- `feature/xxx` - 功能分支
- `bugfix/xxx` - Bug 修复分支
- `hotfix/xxx` - 紧急修复分支
- `release/v1.0.0` - 发布分支
### 提交信息规范
使用约定式提交:
```
<type>(<scope>): <subject>
<body>
<footer>
```
**类型type**:
- `feat`: 新功能
- `fix`: Bug 修复
- `docs`: 文档更新
- `style`: 代码格式(不影响功能)
- `refactor`: 重构
- `test`: 测试相关
- `chore`: 构建/工具相关
**示例**:
```
feat(backend): add user authentication
- Add login API endpoint
- Implement JWT token validation
- Add user session management
Closes #123
```
### .gitignore 规范
已配置的忽略规则:
- Python: `__pycache__/`, `*.pyc`, `venv/`
- Node.js: `node_modules/`, `dist/`
- 环境变量: `.env`, `.env.local`
- IDE: `.vscode/`, `.idea/`
- 项目特定: `erp-doc/`, `*.docx`, `*.xlsx`
- 数据库: `*.db`, `chroma_db/`
## 🐛 常见问题
### 问题 1: 推送被拒绝
**现象**: `! [rejected] main -> main (fetch first)`
**原因**: 远程仓库有新的提交
**解决方案**:
```bash
# 拉取最新代码
git pull origin main --rebase
# 解决冲突(如果有)
# 然后推送
git push origin main
```
### 问题 2: Access Token 失效
**现象**: `remote: Invalid token`
**解决方案**:
1. 访问 http://192.168.120.110:4000/user/settings/applications
2. 生成新的 Access Token
3. 更新远程 URL:
```bash
git remote set-url origin http://dazhuang:NEW_TOKEN@192.168.120.110:4000/dazhuang/erp-ass.git
```
### 问题 3: 合并冲突
**解决方案**:
```bash
# 查看冲突文件
git status
# 手动编辑冲突文件,解决冲突标记
# <<<<<<< HEAD
# 本地修改
# =======
# 远程修改
# >>>>>>> branch-name
# 标记为已解决
git add <conflicted-file>
# 提交合并
git commit
```
### 问题 4: 撤销最近的提交
**撤销最近一次提交(保留修改)**:
```bash
git reset --soft HEAD~1
```
**撤销最近一次提交(丢弃修改)**:
```bash
git reset --hard HEAD~1
```
**注意**: 如果已推送到远程,需要强制推送(谨慎使用):
```bash
git push origin main --force
```
## 📚 相关资源
- [Gitea 官方文档](https://docs.gitea.io/)
- [Git 官方文档](https://git-scm.com/doc)
- [Pro Git 书籍](https://git-scm.com/book/zh/v2)
- [约定式提交](https://www.conventionalcommits.org/zh-hans/)
---
**配置完成时间**: 2026-03-22
**仓库地址**: http://192.168.120.110:4000/dazhuang/erp-ass