Skip to content

Commit 18a5d3f

Browse files
committed
修复TPU发布的dockerhub用户名 (vllm-project#18389)
1 parent d981396 commit 18a5d3f

File tree

1 file changed

+154
-0
lines changed

1 file changed

+154
-0
lines changed

说明文档/GIT操作方法.md

Lines changed: 154 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,154 @@
1+
# **完整 Fork 维护与定制开发流程总结**
2+
3+
## **1. 初始设置(仅需一次)**
4+
```bash
5+
# 克隆你的 Fork
6+
git clone https://github.com/deepinnet/vllm.git
7+
cd dify
8+
9+
# 添加原仓库为 upstream
10+
git remote add upstream https://github.com/vllm-project/vllm.git
11+
12+
# 检查远程仓库
13+
git remote -v
14+
# 应显示:
15+
# origin https://github.com/vllm-project/vllm.git (fetch & push)
16+
# upstream https://github.com/vllm-project/vllm.git (fetch & push)
17+
```
18+
19+
## **2. 推荐分支策略**
20+
| 分支 | 用途 |
21+
|------|------|
22+
| `main` | 仅用于同步上游代码,保持干净 |
23+
| `custom-dev` | 你的**长期开发分支**,所有定制在此进行 |
24+
| `feature/xxx` (可选) | 短期功能分支,完成后合并回 `custom-dev` |
25+
26+
```bash
27+
# 创建你的开发分支
28+
git checkout -b custom-dev
29+
```
30+
31+
---
32+
33+
## **3. 日常开发流程**
34+
### **① 在 `custom-dev` 分支开发**
35+
```bash
36+
git checkout custom-dev
37+
38+
# 进行修改并提交
39+
git add .
40+
git commit -m "feat: 我的定制功能"
41+
git push origin custom-dev
42+
```
43+
44+
### **② 定期同步上游更新,或者官方发布重大版本升级,重要Bug修复等情况下**
45+
```bash
46+
# 1. 切换到 main 分支
47+
git checkout main
48+
49+
# 2. 拉取上游最新代码(不自动合并)
50+
git fetch upstream
51+
52+
# 3. 合并上游更新到你的 main 分支
53+
git merge upstream/main
54+
55+
# 4. 推送更新到你的 Fork(可选)
56+
git push origin main
57+
58+
# 5. 切换回开发分支
59+
git checkout custom-dev
60+
61+
# 6. 合并上游更新到你的开发分支
62+
git merge main
63+
# 或使用 rebase(更整洁,但需处理冲突)
64+
# git rebase main
65+
66+
# 7. 解决冲突(如果有)并推送
67+
git push origin custom-dev
68+
```
69+
70+
---
71+
72+
## **4. 冲突处理技巧**
73+
- **查看冲突文件**
74+
```bash
75+
git status
76+
```
77+
- **手动编辑冲突文件**(搜索 `<<<<<<<`, `=======`, `>>>>>>>`
78+
- **标记冲突已解决**
79+
```bash
80+
git add <冲突文件>
81+
```
82+
- **继续合并/变基**
83+
```bash
84+
git commit # 如果是 merge
85+
git rebase --continue # 如果是 rebase
86+
```
87+
88+
---
89+
90+
## **5. 高级维护技巧**
91+
### **① 仅合并特定提交(cherry-pick)**
92+
```bash
93+
git cherry-pick <commit-hash>
94+
```
95+
96+
### **② 清理提交历史(交互式 rebase)**
97+
```bash
98+
git rebase -i main
99+
```
100+
101+
### **③ 强制同步 main 分支(丢弃本地修改)**
102+
```bash
103+
git checkout main
104+
git reset --hard upstream/main
105+
git push origin main --force
106+
```
107+
108+
---
109+
110+
## **6. 最佳实践**
111+
**定期同步上游**(建议每周一次)
112+
**模块化修改**,避免直接改核心文件
113+
**提交信息清晰**,方便追踪
114+
**维护 `CHANGES.md` 记录定制内容**
115+
**避免直接在 `main` 分支开发**
116+
117+
---
118+
119+
这样,你可以:
120+
- **持续获取上游更新**(新功能/安全修复)
121+
- **安全保留定制代码**
122+
- **减少合并冲突风险**
123+
124+
125+
将你的 `custom-dev` 分支修改同步回 `main` 分支的时机和方式需要谨慎处理,以下是专业建议:
126+
127+
---
128+
129+
### 🕰 **何时同步回 main 分支?**
130+
1. **准备发布生产环境时**
131+
- 当定制功能开发完成并通过测试后
132+
- 示例流程:
133+
```bash
134+
# 1. 确保 main 已更新到最新上游代码
135+
git checkout main
136+
git fetch upstream
137+
git merge upstream/main
138+
139+
# 2. 合并定制功能到 main
140+
git merge --no-ff custom-dev # 显式生成合并提交
141+
git push origin main
142+
143+
# 3. 打标签并部署
144+
git tag -a v1.0-custom -m "包含定制功能的生产版本"
145+
git push origin --tags
146+
```
147+
148+
---
149+
150+
**黄金准则**
151+
> 保持 `main` 分支随时可发布,合并 `custom-dev` 前必须:
152+
> 1. 测试通过
153+
> 2. 文档更新
154+
> 3. 创建回滚点(如 tag)

0 commit comments

Comments
 (0)