1. 分支基础操作(创建 / 切换 / 查看)
| 操作需求 | 命令语句 | 说明 |
|---|---|---|
| 创建本地分支(不切换) | git branch <分支名> | 举例: git branch dev |
| 创建并直接切换分支 | git checkout -b <分支名> | 等价于「创建分支」+「切换分支」 |
| 切换已有本地分支 | git checkout <分支名> | 举例: git checkout dev |
| 查看本地所有分支 | git branch | 当前所在分支前会标注 * 号 |
| 查看远程所有分支 | git branch -r | 显示远程仓库(origin)下的所有分支 |
| 查看本地 + 远程所有分支 | git branch -a | 远程分支会以 remotes/origin/xxx 形式显示 |
2. 分支推送(本地分支同步到远程)
| 操作需求 | 命令语句 | 说明 |
|---|---|---|
| 首次推送本地分支到远程(关联分支) | git push -u origin <本地分支名> | 例:git push -u origin feature/property-pay,-u 建立本地与远程分支的关联,后续直接 git push 即可 |
| 非首次推送(已关联分支) | git push | 直接同步本地分支修改到远程对应分支 |
| 推送本地分支并指定远程分支名(不同名场景) | git push -u origin <本地分支名>:<远程分支名> | 例: git push -u origin dev:master |
3. 分支合并(核心:合并到目标分支)
- 注:确保合并前目标分支和当前分支都是最新状态,避免冲突
- 先切换到目标分支(要合并到哪个分支,就先切换到哪个分支)
- 拉取目标分支最新代码
- 执行合并命令(将master最新代码更新到dev上)
| 操作需求 | 命令语句 |
|---|---|
| 切换到目标分支 | git checkout dev |
| 拉取dev最新代码 | git pull |
| 合并功能分支 | git merge master |
4. 删除分支
| 操作需求 | 命令语句 | 说明 |
|---|---|---|
| 删除本地已合并分支(常用) | git branch -d <分支名> | 例:git branch -d feature/property-pay会先校验分支是否已合并,未合并则提示删除失败,避免误删 |
| 强制删除本地未合并分支(谨慎使用) | git branch -D <分支名> | 忽略合并校验,强制删除,适用于废弃的功能分支 |
| 删除远程仓库中的分支 | git push origin -d <远程分支名> | git push origin -d dev |
5. 其他高频操作
| 操作需求 | 命令语句 | 说明 |
|---|---|---|
| 拉取远程新分支到本地 | git fetch origin <远程分支名>再执行:git checkout <远程分支名>(或 git switch <远程分支名>) | 同步远程新增的分支到本地,适用于团队成员创建远程分支后,自己本地需要拉取的场景 |
| 重命名本地分支 | git branch -m <旧分支名> <新分支名> | git branch -m dev_a dev_b |
| 查看分支合并历史 | git log --graph --oneline --all | 以图形化方式展示所有分支的提交记录和合并关系,便于追溯 |
6. 分支命名规范
| 分支类型 | 命名格式 |
|---|---|
| 主分支 | main/master |
| 开发分支 | dev/develop |
| 功能分支 | feature/业务模块名 |
| 测试分支 | test/testing |