ShopTRAINING/feature_branch_workflow.md
2025-07-15 11:25:20 +08:00

101 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 功能分支开发与合并标准流程
本文档旨在说明一个标准、安全的功能开发流程,涵盖从创建分支到最终合并的完整步骤。
## 流程概述
1. **创建功能分支**:基于主开发分支(如 `lyf-dev`)在远程仓库创建一个新的功能分支(如 `lyf-dev-req0001`)。
2. **同步到本地**:将远程的新分支同步到本地,并切换到该分支进行开发。
3. **开发与提交**:在功能分支上进行代码开发,并频繁提交改动。
4. **推送到远程**:定期将本地的提交推送到远程功能分支,用于备份和协作。
5. **合并回主分支**:当功能开发和测试完成后,将功能分支合并回主开发分支。
---
## 详细操作步骤
### 第一步:同步并切换到功能分支
当远程仓库已经创建了新的功能分支后(例如 `lyf-dev-req0001`),本地需要执行以下命令来同步和切换。
1. **获取远程最新信息**
```bash
git fetch
```
这个命令会拉取远程仓库的所有最新信息,包括新建的分支。
2. **创建并切换到本地分支**
```bash
git checkout lyf-dev-req0001
```
Git 会自动检测到远程存在一个同名分支,并为您创建一个本地分支来跟踪它。
### 第二步:在功能分支上开发和提交
现在您可以在 `lyf-dev-req0001` 分支上安全地进行开发。
1. **进行代码修改**:添加、修改或删除文件以实现新功能。
2. **提交代码改动**
```bash
# 添加所有修改过的文件到暂存区
git add .
# 提交改动到本地仓库,并附上有意义的说明
git commit -m "feat: 完成用户认证模块"
```
> **最佳实践**:保持提交的粒度小且描述清晰,方便代码审查和问题回溯。
### 第三步:推送功能分支到远程
为了备份代码和进行团队协作,需要将本地的提交推送到远程仓库。
```bash
# 将当前分支 (lyf-dev-req0001) 的提交推送到远程同名分支
git push origin lyf-dev-req0001
```
### 第四步:合并功能到主开发分支 (`lyf-dev`)
当功能开发完毕并通过测试后,就可以准备将其合并回 `lyf-dev` 分支。
1. **切换到主开发分支**
```bash
git checkout lyf-dev
```
2. **确保主开发分支是最新版本**
在合并前,务必先拉取远程 `lyf-dev` 的最新代码,以减少冲突的可能性。
```bash
git pull origin lyf-dev
```
3. **合并功能分支**
将 `lyf-dev-req0001` 的所有改动合并到当前的 `lyf-dev` 分支。
```bash
git merge lyf-dev-req0001
```
* **如果出现冲突 (Conflict)**Git 会提示您哪些文件存在冲突。您需要手动打开这些文件,解决冲突部分,然后再次执行 `git add .` 和 `git commit` 来完成合并提交。
* **如果没有冲突**Git 会自动创建一个合并提交。
4. **将合并后的主分支推送到远程**
```bash
git push origin lyf-dev
```
### 第五步:清理(可选)
当功能分支确认不再需要后,可以删除它以保持仓库整洁。
1. **删除远程分支**
```bash
git push origin --delete lyf-dev-req0001
```
2. **删除本地分支**
```bash
git branch -d lyf-dev-req0001
```
---
遵循以上流程可以确保您的开发工作流程清晰、安全且高效。