Master (主分支)
主分支应该是代码库中最稳定和最可靠的分支,通常是 master 或 main 分支。它应该只包含已经完成和测试过的代码,而不应该直接在主分支上进行开发。
Develop 分支
Develop 分支是从主分支分离出来的,通常情况下,我们平时的开发都是在 develop 分支上进行。到某个时候,比如 1.0 版本所有功能已经稳定可以发布时,再把 develop 分支合并到主分支上,在主分支发布 1.0 版本。
特殊情况下,比如需要同时开发两个新功能,并且这两个新功能不确定是否同时发布到线上版本,这种场景就不适合在 develop 分支上进行开发了。更好的方法是从 develop 分支分离出两个 feature 分支。
Feature 分支
Feature 分支一般从 develop 分支分离出来,用于新功能开发。每开发一个新功能,最好新建一个 feature 分支,开发完成后,合并到 develop 分支并将 feature 分支删除。
在多人协作开发时,每个人都应该从 feature 分支上分离出自己的分支。例如,张三从 feature-1.0.0 分支上分离出 feature-1.0.0-zhangsan 分支,在 feature-1.0.0-zhangsan 分支上开发完成后,拉取并合并 feature-1.0.0 分支的代码,最后再切换到 feature-1.0.0 分支,将 feature-1.0.0-zhangsan 分支代码合并。
# 从 feature-1.0.0 分支,分离出自己的分支
$ git checkout -b feature-1.0.0-zhangsan
# 在 feature-1.0.0-zhangsan 分支上进行开发
$ git add .
$ git commit -m "提交信息"
...
# 开发完成后,拉取最新代码,准备合并
$ git checkout feature-1.0.0
$ git pull
$ git checkout feature-1.0.0-zhangsan
# 查看两个分支的区别
$ git diff feature-1.0.0 --stat
# 合并
$ git merge feature-1.0.0
# 将代码推送到远程仓库
$ git push -u origin feature-1.0.0-zhangsan
# 在远程仓库上,提交合并请求
Release 分支(预发布分支)
预发布分支一般从 develop 分支分离出来,用于为即将发布的版本进行准备工作,例如测试、构建、版本控制和文档更新等。预发布分支通常按照版本号命名,并在完成准备工作后合并回开发分支,最后再合并回主分支进行发布。
Hotfix 分支
Hotfix 分支一般从主分支分离出来,用于修复 bug。软件正式发布以后,难免会出现 bug。这时就需要创建一个分支,进行 bug 修复,修复结束后,再合并进 master 和 develop 分支。
这些分支管理策略能够有效地组织团队的开发工作,确保代码的稳定性和可靠性,同时提高团队的协作效率。