在CNB上创建属于自己的分支

登陆CNB后进到仓库主页,在分支里面创建分支,源分支选择master,分支名称自定。
在仓库主页点击分支
创建分支
填写分支信息

💡 提示:分支命名建议采用 <类型>/<功能描述> 的格式,例如:feature/user-authbugfix/login-error

在本地目录中切换到自己的分支

切换分支有两个方法:

  1. 用终端敲git命令切换分支
  2. 在IDE中选择分支

用终端敲git命令切换分支

当我们用 git clone 将项目仓库克隆下来之后,cd ./仓库名 进入仓库文件夹后我们可以用以下命令:

1
2
3
4
5
git branch -a                            # 查看本地及远程的所有分支
git fetch origin # 获取远程分支更新
git checkout <branch> # 切换到已有分支
# 或者使用更现代的命令
git switch <branch> # 切换到已有分支

等待进度条跑完即完成分支的切换

⚠️ 注意:原命令中的 git banch -a 有拼写错误,正确应为 git branch -a

在IDE中选择分支

我们可以用IDE以打开文件夹的形式打开仓库文件夹,进入源代码管理器,在下方有个分支的选项,点击之后在弹出的界面处点击自己的分支,等待切换
在IDE中选择分支

日常开发工作流

1. 开始开发前同步最新代码

1
2
3
4
git checkout master                      # 切换到主分支
git pull origin master # 拉取最新代码
git checkout your-branch # 切换回你的分支
git merge master # 将主分支最新代码合并到你的分支

2. 开发过程中的提交

1
2
3
4
git add .                                # 添加所有修改的文件到暂存区
# 或者指定文件
git add <file1> <file2> # 添加特定文件
git commit -m "feat: 添加用户登录功能" # 提交更改并附描述

3. 推送本地分支到远程

1
git push origin your-branch              # 推送本地分支到远程

4. 解决冲突

当合并代码时可能出现冲突,需要手动解决:

1
2
3
4
5
6
7
git status                               # 查看冲突文件
# 手动编辑冲突文件,解决冲突标记
# <<<<<<< HEAD (当前分支的更改)
# =======
# >>>>>>> master (要合并的分支更改)
git add <resolved-file> # 标记冲突已解决
git commit -m "fix: 解决合并冲突" # 完成合并

提交PR(Pull Requests)

在完成模块开发之后,在仓库主页点击合并请求,新建一个合并请求,源分支选择自己的分支,目标分支为master。
创建PR
编写好描述之后提交并联系管理员进行审核。
编写描述并提交

PR描述模板

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
## 📝 需求说明
- 关联需求:TAPD-XXXX
- 功能描述:简要说明本次提交实现的功能

## 🔧 实现方式
- 主要修改了哪些文件
- 采用了什么技术方案

## ✅ 测试情况
- [ ] 功能测试通过
- [ ] 代码自审完成
- [ ] 无明显bug

## 📸 截图(如适用)
附上功能截图或录屏

💡 提示:提交PR前请确保代码已经push到远程分支

提交Commit规范

Commit Message格式

遵循约定式提交(Conventional Commits)规范:

1
2
3
<type>: <description>

[optional body]

Type类型说明

类型 说明 示例
feat 新功能 feat: 添加用户注册功能
fix 修复bug fix: 修复登录验证错误
docs 文档更新 docs: 更新README.md
style 代码格式(不影响代码运行) style: 格式化代码缩进
refactor 重构(既不是新功能也不是修bug) refactor: 重构用户模块
test 测试相关 test: 添加用户登录测试
chore 构建过程或辅助工具的变动 chore: 更新依赖版本

关联TAPD需求

在编写Commit时,在TAPD中复制需求关键词,在提交时附上:

1
git commit -m "feat: 添加用户登录功能 [TAPD#12345678]"

📌 :为规范提交,完成提交PR时请附上各自负责的父需求的关键词(父需求关键词在各自分支内提交时可以不包含,但PR合并时必须包含)


常见问题FAQ

Q1: 不小心提交到了master分支怎么办?

1
2
3
4
git checkout -b new-branch              # 创建新分支并切换
git checkout master # 切回master
git reset --hard HEAD~1 # 撤销最近一次提交(谨慎使用)
git push origin master --force # 强制推送(需要权限)

Q2: 如何撤销某次commit?

1
git revert <commit-id>                  # 创建一个新的commit来撤销指定提交

Q3: 如何修改最近一次的commit message?

1
git commit --amend                      # 修改最后一次提交的信息

Q4: PR被要求修改后如何更新?

1
2
3
4
# 在本地修改代码后
git add .
git commit -m "fix: 根据review意见修改"
git push origin your-branch # 再次推送,PR会自动更新

Git常用命令速查表

命令 说明
git init 初始化本地仓库
git clone <url> 克隆远程仓库
git status 查看工作区状态
git log 查看提交历史
git diff 查看修改内容
git branch 查看本地分支
git branch -a 查看所有分支(本地+远程)
git checkout -b <branch> 创建并切换到新分支
git merge <branch> 合并指定分支到当前分支
git stash 暂存当前修改
git stash pop 恢复暂存的修改

最佳实践建议

  1. 频繁提交:小而频繁的commit比大而少的commit更容易管理
  2. 及时同步:每天开始工作前先pull最新代码
  3. 分支隔离:每个功能/bugfix使用独立分支
  4. 代码审查:PR提交后主动邀请同事review
  5. 测试先行:提交前确保代码能够正常运行
  6. 描述清晰:commit message要清楚说明做了什么和为什么这样做