分支 | 名称 | 作用 |
---|---|---|
master(main) | 主分支 | 用于生产部署,最新稳定版本,一般由 release 或 hotfix 分支合并,任何情况下不允许直接在 master 分支上修改代码。 |
release | 预上线分支 | 预上线分支,是develop与master之间的一个缓冲,始终保持与 master 分支一致,一般由 develop 或 hotfix 分支合并,不建议直接在 release 分支上直接修改代码。(UAT) |
hotfix | 紧急修复分支 | 紧急分支,名规则为 hotfix- 开头,从master生成,bug修正后自动合并到master和develop并且生成tag; |
develop | 测试分支 | 功能验收测试环境,用于测试环境下的软件测试者测试使用,可根据需求大小程度确定是由 feature 分支合并,还是直接在上面开发。,FAT,如果开发工时 < 1d,直接在 develop 开发,如果开发工时 > 1d,那就需要创建分支,在分支上开发。 |
feature | 需求开发分支 | 用于开发新需求和需要较长时间的BUG修改,(正式环境) 测试通过后,研发人员需要删除 feature- 分支。 |
在 Git 中,远程和本地仓库可能彼此毫无依赖关系。不管怎样,本地和远程的分支必须被一致对待。
但是这样也并不代表你必须要发布你的 每一个 本地分支,拥有一些完全属于你的私有分支也是非常必要和有意义的。例如当你单独的研究一些新功能,或是尝试调试一些新的技术时。
不管怎样,当你要发布你的一个本地分支时,你就应该给它对应的远程分支一个相同的名称。例如,如果你有一个本地分支被命名为 “login-ui”,当你要发布它时,在远程仓库上它也必须拥有 “login-ui” 这个名字。
保持与远程分支的同步并不是只停留在结构层面上,经常性地通过 “git push” 命令发布你的改动可以有助于团队里的其他的开发人员看到和使用你的最新开发成果。附带的还有一个最大的好处是,它可以作为你的远程备份。