分支的使用
今天学习一下 Git 分支的使用。
提示
可以线上可视化学习 :在线学习 git 分支
分支的概念
分支(branch)是 Git 版本控制系统的一个重要概念。
这里我贴上一个常见的git分支模型:
- main: 主分支,也就是我们平时所说的“master”分支,它是所有提交的最终汇总点。
- develop: 开发分支,一般用来保存开发中的代码,稳定性比较高。
- feature: 功能分支,用来开发新功能。
- release: 发布分支,用来发布新版本。
- hotfix: 热修复分支,用来修复线上版本的紧急 bug。
日常使用流程
- 初始化
- 创建
main
分支 - 从
main
分支创建develop
分支
- 创建
- 功能开发
- 从
develop
分支创建feature
分支 - 在
feature
分支上开发新功能 - 完成开发后,合并
feature
分支到develop
分支
- 从
- 发布
- 从
develop
分支创建release
分支 - 在
release
分支上测试发布版本 - 完成测试后,合并
release
分支到main
分支和develop
分支
- 从
- 紧急修复
- 从
main
分支创建hotfix
分支 - 在
hotfix
分支上修复紧急 bug - 完成修复后,合并
hotfix
分支到main
分支和develop
分支
- 从
- 回滚
- 如果
main
分支上有问题,可以回滚到上一个版本 - 如果
develop
分支上有问题,可以回滚到上一个版本
- 如果
- 持续集成
- 完成开发后,可以设置 CI(持续集成)工具,自动构建和测试代码
- 如果测试通过,可以合并
develop
分支到main
分支
一次完整的分支操作
下面是一个完整的分支操作流程:
- 克隆远程仓库到本地
gitignore
git clone <remote_repository_url>
- 查看当前分支
gitignore
git branch
- 从
main
分支创建develop
个人分支
gitignore
git checkout -b develop main
- 从
develop
分支创建feature
分支
gitignore
git checkout -b feature develop
- 在
feature
分支上开发新功能 - 完成开发后,合并
feature
分支到develop
分支
gitignore
git checkout develop
git merge --no-ff feature
git branch -d feature
- 从
develop
分支创建release
分支
gitignore
git checkout -b release develop
- 在
release
分支上测试发布版本 - 完成测试后,合并
release
分支到main
gitignore
git checkout main
git merge --no-ff release
git tag -a v1.0.0 -m "release version 1.0.0"
git branch -d release
修复bug时常用的分支操作
- 从
main
分支创建hotfix
分支
gitignore
git checkout -b hotfix main
- 在
hotfix
分支上修复紧急 bug - 完成修复后,合并
hotfix
分支到main
分支和develop
分支
gitignore
git checkout develop
git merge --no-ff hotfix
git checkout main
git merge --no-ff hotfix
git branch -d hotfix
总结
Git 分支的学习与使用,是为了给后面团队开发、维护代码、CI/CD 等工作的展开打基础。