注意:以下内容是我对"猴子都能懂的Git入门"的总结,来源地址:Simple Git tutorial for beginners | Nulab 如果大家想详细学习建议从官方文档学习
目录
分支的工作流程:
- 主分支
- 功能分支
- 发布分支
- 修改分支
- 开发分支
主分支:
在存储库中进行第一次提交时,默认情况下Git会自动创建一个主分支.随后的提交会在主分支下进行,直到你决定创建并切换到另一个分支.
驻留在主分支的代码库是生产就绪的.当最新的提交准备好用于特定版本时,它将被赋予一个发布标签.
功能分支:
当你开始开发新功能或者对现有功能进行重大修改时,你就该创建一个功能分支,功能分支通常是在开发分支之外并基于开发分支创建的,在功能开发的整个生命周期,该主题可以驻留在您的本地机器中,功能完成后,功能分支合并回主分支.
开发分支:
开发分支是Git团队协作开发的核心概念,通过隔离开发环境和整合代码变更,帮助团队高效管理复杂项目.你的团队应该始终保持开发分支的稳定,从这个分支创建新的分支,它可以在生产环境中运行.
当一些更改需要合并到开发分支时,创建一个功能分支来处理通常是一个好主意.
发布分支:
发布分支命名以前缀release-开头,通常当开发分支接近生产就绪(即开发分支积累了足够多的新功能)时,
1.它会在开发分支之外创建一个新的分支用来做修复测试发现的bug,版本号更新等操作
2.准备发布时,将发布分支与主分支合并,并为新创建的合并提交标志发布编号.
3.还应该将发布分支与开发分支合并,以便主分支和开发分支都可以从发布分支中接收发布分支修复的bug.
修改分支:
当您需要快速向生产代码库添加关键修复时,可以在主分支外创建一个修补分支.
命名:以前缀hotfix-开头
优点:允许快速发布补丁,并将更改与主分支合并,而无需等待下一个版本
(注意:修补分支也应该与开发分支合并)
Git分支工作流程的示例:
这里有一个快速示例,带你感受各种分支在实际生产中的应用:
1.初始化仓库与分支:
假设你已经创建了一个远程仓库my-project,并克隆到本地:
git clone https://github.com/your-username/my-project.git
cd my-project
2.创建开发分支:
git checkout -b develop # 从main创建develop分支
git push origin develop # 推送开发分支到远程
3.开发新功能
1.创建特性分支,比如开发者A负责开发新功能
git checkout -b feature/user-profile develop # 从develop创建特性分支
# 编写代码...
git add .
git commit -m "Add user profile page"
git push origin feature/user-profile # 推送到远程
2.提交Pull Request(PR)
- 开发者A在GitHub上创建PR,将feature/user-profile合并到develop
- 开发者B进行代码审查,确定无误后合并
4.修复bug
创建修复分支
git checkout -b fix/login-issue develop # 从develop创建修复分支
# 修复代码...
git commit -m "Fix login validation error"
git push origin fix/login-issue
合并修复,创建PR将fix/login-issue合并到develop,并删除修复分支
5.准备发布版本
创建发布分支:
git checkout -b release/v1.0.0 develop # 从develop创建发布分支
# 更新版本号、文档等...
git commit -m "Prepare release v1.0.0"
git push origin release/v1.0.0
最终测试,发现所有问题
git commit -m "Fix release issues"
6.发布到生产环境
1.合并到主分支
git checkout main
git merge --no-ff release/v1.0.0 # 合并发布分支到main
git tag v1.0.0 # 打标签标记版本
git push origin main
git push origin --tags # 推送标签到远程
2.同步到开发分支
git checkout main
git merge --no-ff release/v1.0.0 # 合并发布分支到main
git tag v1.0.0 # 打标签标记版本
git push origin main
git push origin --tags # 推送标签到远程
3.删除发布分支
git branch -d release/v1.0.0 # 删除本地发布分支
git push origin --delete release/v1.0.0 # 删除远程发布分支
7.紧急修改生产环境bug
1.创建热修复分支
git checkout -b hotfix/v1.0.1 main # 从main创建热修复分支
# 修复代码...
git commit -m "Hotfix: critical bug in payment system"
2.合并到主分支
git checkout main
git merge --no-ff hotfix/v1.0.1
git tag v1.0.1
git push origin main
git push origin --tags
3.同步到开发分支
git checkout develop
git merge --no-ff hotfix/v1.0.1
git push origin develop
4.删除热修复分支
git branch -d hotfix/v1.0.1
git push origin --delete hotfix/v1.0.1
8.查看分支状态
git branch -a # 查看所有本地和远程分支
git log --oneline --graph --decorate --all # 可视化分支历史