修改: "2026 Ubuntu \345\256\211\350\243\205.md"
新文件: "Docker\346\212\200\346\234\257.md" 新文件: "GIT\346\212\200\346\234\257.md" 新文件: "Linux\346\212\200\346\234\257.md" 新文件: "Python\346\212\200\346\234\257.md" 新文件: hermes-agent.md 新文件: "\345\244\207\344\273\275\344\270\216\346\201\242\345\244\215.md" 新文件: "\347\224\265\345\255\220\347\247\244\345\233\276\347\211\207\350\257\206\345\210\253\347\263\273\347\273\237\350\256\276\350\256\241.md"
This commit is contained in:
@@ -0,0 +1,185 @@
|
||||
# GIT 功能应用
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## 安装
|
||||
|
||||
```bash
|
||||
sudo apt install git
|
||||
sudo apt install gitk git-cola 图形化工具
|
||||
|
||||
全局设置
|
||||
git config --global user.email "zimyx@.com"
|
||||
git config --global user.name "Your Name"
|
||||
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
公司 http://117.78.60.236:8000/users/sign_in zhanghonggang@csbr.cn w~7!
|
||||
|
||||
## 分支管理规范
|
||||
|
||||
分支类型与命名规范
|
||||
|
||||
### 分支命名格式
|
||||
|
||||
| 分支类型 | 命名格式 | 示例 |
|
||||
|---------|---------|------|
|
||||
| 主分支 | `main` | `main` |
|
||||
| 开发分支 | `dev` | `dev` |
|
||||
| 功能分支 | `feat/<功能名>` | `feat/event`, `feat/stream` |
|
||||
| 热修复分支 | `hotfix/<问题名>` | `hotfix/event` |
|
||||
| 发布分支 | `release/<版本号>` | `release/v1.0.0` |
|
||||
|
||||
### 分支用途说明
|
||||
|
||||
| 分支类型 | 用途说明 |
|
||||
|---------|---------|
|
||||
| `main` | 稳定版本分支,直接对应生产环境代码 |
|
||||
| `dev` | 开发主分支,所有功能集成分支先合并到此分支 |
|
||||
| `feat/*` | 功能开发分支,用于开发新功能 |
|
||||
| `hotfix/*` | 热修复分支,用于紧急修复生产问题 |
|
||||
| `release/*` | 发布分支,用于版本发布准备 |
|
||||
|
||||
### 分支流程规则
|
||||
|
||||
#### 核心规则:dev 禁止合并到 main
|
||||
|
||||
**重要约束:`dev` 分支** **禁止直接合并到 `main` 分支**
|
||||
|
||||
- `dev` 是开发分支,代码未经充分测试,不适合直接发布到生产
|
||||
- 所有合并到 `main` 的代码必须通过 `release/*` 分支或直接从 `hotfix/*` 分支合并
|
||||
|
||||
#### 标准合并流程
|
||||
|
||||
```
|
||||
功能开发流程:
|
||||
feat/* → dev → release/* → main
|
||||
|
||||
热修复流程:
|
||||
hotfix/* → main (紧急情况可直接合并)
|
||||
hotfix/* → dev (同步修复到开发分支)
|
||||
```
|
||||
|
||||
#### 各分支合并规则
|
||||
|
||||
| 从分支 | 合并到 | 是否允许 | 说明 |
|
||||
|-------|-------|---------|------|
|
||||
| `feat/*` | `dev` | ✅ 允许 | 功能开发完成后合并到开发分支 |
|
||||
| `dev` | `main` | ❌ 禁止 | dev 禁止直接合并到 main |
|
||||
| `dev` | `release/*` | ✅ 允许 | 开发分支可以合并到发布分支 |
|
||||
| `release/*` | `main` | ✅ 允许 | 发布分支通过测试后合并到 main |
|
||||
| `release/*` | `dev` | ✅ 允许 | 发布分支可同步回开发分支 |
|
||||
| `hotfix/*` | `main` | ✅ 允许 | 热修复可直接合并到 main |
|
||||
| `hotfix/*` | `dev` | ✅ 允许 | 热修复需同步到开发分支 |
|
||||
| `feat/*` | `main` | ❌ 禁止 | 功能分支禁止直接合并到 main |
|
||||
| `feat/*` | 其他 `feat/*` | ❌ 禁止 | 功能分支之间禁止互相合并 |
|
||||
|
||||
### 当前项目分支结构
|
||||
|
||||
```
|
||||
本地分支:
|
||||
- dev (开发主分支,当前工作分支)
|
||||
- feat/event (事件功能分支)
|
||||
- feat/stream (流功能分支)
|
||||
- hotfix/event (事件热修复分支)
|
||||
- main (生产环境分支)
|
||||
|
||||
远程分支:
|
||||
- origin/main
|
||||
- origin/dev
|
||||
- origin/feat/event
|
||||
```
|
||||
|
||||
### Git 操作指南
|
||||
|
||||
#### 创建功能分支
|
||||
|
||||
```bash
|
||||
# 从 main 创建功能分支
|
||||
git checkout main
|
||||
git pull origin main
|
||||
git checkout -b feat/your-feature-name
|
||||
```
|
||||
|
||||
#### 合并功能到 dev
|
||||
|
||||
```bash
|
||||
# 完成功能开发后,切换到 dev 分支
|
||||
git checkout dev
|
||||
git pull origin dev
|
||||
|
||||
# 合并功能分支
|
||||
git merge feat/your-feature-name
|
||||
|
||||
# 推送 dev 分支
|
||||
git push origin dev
|
||||
```
|
||||
|
||||
#### 创建发布分支
|
||||
|
||||
```bash
|
||||
# 从 dev 创建发布分支
|
||||
git checkout dev
|
||||
git pull origin dev
|
||||
git checkout -b release/v1.0.0
|
||||
```
|
||||
|
||||
#### 发布到 main
|
||||
|
||||
```bash
|
||||
# 在 release 分支完成测试后,合并到 main
|
||||
git checkout main
|
||||
git pull origin main
|
||||
git merge release/v1.0.0
|
||||
git push origin main
|
||||
|
||||
# 删除发布分支
|
||||
git branch -d release/v1.0.0
|
||||
git push origin --delete release/v1.0.0
|
||||
```
|
||||
|
||||
#### 热修复操作
|
||||
|
||||
```bash
|
||||
# 从 main 创建热修复分支
|
||||
git checkout main
|
||||
git pull origin main
|
||||
git checkout -b hotfix/issue-description
|
||||
|
||||
# 修复完成后,合并到 main
|
||||
git checkout main
|
||||
git merge hotfix/issue-description
|
||||
git push origin main
|
||||
|
||||
# 同时合并到 dev
|
||||
git checkout dev
|
||||
git merge hotfix/issue-description
|
||||
git push origin dev
|
||||
|
||||
# 删除热修复分支
|
||||
git branch -d hotfix/issue-description
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
```
|
||||
git add .
|
||||
git commit -m "更新代码"
|
||||
git push
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user