Git 分支完整操作指南

Git 分支完整操作指南

1. 查看分支

查看本地分支

bash 复制代码
git branch

查看所有分支(包括远程)

bash 复制代码
git branch -a

查看远程分支

bash 复制代码
git branch -r

查看分支详细信息(最后提交)

bash 复制代码
git branch -v

查看已合并到当前分支的分支

bash 复制代码
git branch --merged

查看未合并到当前分支的分支

bash 复制代码
git branch --no-merged

2. 创建分支

创建新分支并切换

bash 复制代码
git checkout -b 分支名
# 或(推荐,更语义化)
git switch -c 分支名

从特定提交创建分支

bash 复制代码
git branch 分支名 <commit-hash>

从远程分支创建本地分支

bash 复制代码
git checkout -b 本地分支名 origin/远程分支名

3. 切换分支

切换到已有分支

bash 复制代码
git checkout 分支名
# 或
git switch 分支名

切换到上一个分支

bash 复制代码
git checkout -

4. 在新分支中提交代码

创建并切换到新分支

bash 复制代码
git switch -c feature/new-feature

进行代码修改后提交

bash 复制代码
# 查看修改状态
git status

# 添加修改到暂存区
git add .                    # 添加所有修改
git add 文件名              # 添加特定文件

# 提交修改
git commit -m "提交描述"

# 推送到远程仓库(首次推送需要设置上游)
git push -u origin feature/new-feature

后续推送(已设置上游后)

bash 复制代码
git push

5. 合并分支

快速合并(Fast-forward)

bash 复制代码
# 切换到要合并到的目标分支
git checkout main

# 确保目标分支是最新的
git pull origin main

# 合并特性分支
git merge feature/new-feature

非快速合并(创建合并提交)

bash 复制代码
git merge --no-ff feature/new-feature

变基合并(Rebase)

bash 复制代码
# 在特性分支上执行
git checkout feature/new-feature
git rebase main

# 然后切换回主分支合并
git checkout main
git merge feature/new-feature

6. 处理合并冲突

当合并出现冲突时

bash 复制代码
# 合并后查看冲突文件
git status

# 手动解决冲突,然后标记为已解决
git add 冲突解决的文件

# 完成合并提交
git commit

取消合并

bash 复制代码
git merge --abort
git rebase --abort

7. 删除分支

删除本地分支

bash 复制代码
git branch -d 分支名        # 安全删除(已合并)
git branch -D 分支名        # 强制删除(未合并)

删除远程分支

bash 复制代码
git push origin --delete 分支名

8. 分支重命名

重命名当前分支

bash 复制代码
git branch -m 新分支名

重命名指定分支

bash 复制代码
git branch -m 旧分支名 新分支名

9. 实际工作流程示例

标准功能开发流程

bash 复制代码
# 1. 从主分支创建功能分支
git checkout main
git pull origin main
git switch -c feature/user-authentication

# 2. 开发并提交代码
# ... 进行代码修改 ...
git add .
git commit -m "实现用户登录功能"
git push -u origin feature/user-authentication

# 3. 完成开发,合并到主分支
git checkout main
git pull origin main
git merge feature/user-authentication

# 4. 清理分支
git branch -d feature/user-authentication
git push origin --delete feature/user-authentication

紧急修复流程

bash 复制代码
# 从主分支创建热修复分支
git checkout main
git switch -c hotfix/critical-bug

# 修复并提交
git add .
git commit -m "修复严重bug"
git push -u origin hotfix/critical-bug

# 合并到主分支和开发分支
git checkout main
git merge hotfix/critical-bug

git checkout develop
git merge hotfix/critical-bug

# 删除热修复分支
git branch -d hotfix/critical-bug

10. 常用分支命名规范

  • main / master - 主分支
  • develop - 开发分支
  • feature/功能名 - 功能分支
  • release/版本号 - 发布分支
  • hotfix/问题描述 - 热修复分支
  • bugfix/问题描述 - bug修复分支

11. 实用技巧

查看分支图

bash 复制代码
git log --oneline --graph --all

比较分支差异

bash 复制代码
git diff 分支1..分支2

备份当前工作状态

bash 复制代码
git stash        # 保存当前修改
git stash pop    # 恢复保存的修改

这个完整的 Git 分支操作指南涵盖了日常开发中最常用的场景和命令。

相关推荐
AlexDeng31 分钟前
Git 中模糊搜索分支名称并创建本地跟踪分支
git
jxm_csdn4 小时前
递归工程工厂:Claude Code + Git Worktrees + Tilix/Tmux 的“AI分身”编码团队
人工智能·git
码咔吧咔4 小时前
Git 中 pull.rebase = true 的作用与设置方法详解
git
郑州光合科技余经理7 小时前
开发实战:海外版同城o2o生活服务平台核心模块设计
开发语言·git·python·架构·uni-app·生活·智慧城市
我是海飞8 小时前
Git 本地仓库推送到远程空仓库指南
大数据·git·elasticsearch
记得开心一点嘛8 小时前
如何去使用git进行协同开发?
git
GHL28427109018 小时前
git cherry-pick使用
git
小龙19 小时前
【Git 报错解决】本地分支与远程分支名称/提交历史不匹配
大数据·git·elasticsearch·github
阿正的梦工坊20 小时前
Git Rebase 是什么?为什么需要它?
人工智能·git
ASEpochs1 天前
Vsocde中‘sh’不是内部或外部命令,也不是可运行的程序或批量处理文件--已解决
git·vscode·bash