Git工作流指南
今天看了一下翻译的git工作流指南,简单总结一下。
Git工作流指南
Git工作流指南:集中式工作流
Git工作流指南:功能分支工作流
Git工作流指南:Gitflow工作流
Git工作流指南:Forking工作流
Git工作流指南:Pull Request工作流
集中式工作流
所有人都在master
分支上开发。每个人先从远程master
分支上拉取代码,然后进行编辑,暂存,提交,最终push回远程master
分支。
功能分支工作流
不同的功能对应不同的功能分支,每个功能分支都check自master
分支,并有相应的远程功能分支,每个功能开发完成后,将本地功能分支的代码push到对应的远程功能分支上,再通过pull request将远程功能分支合并到远程master
分支上。
Gitflow工作流
该工作流在功能分支工作流的基础上增加了develop
,release
和hotfix
分支。
develop
分支创建自master
分支,各功能分支创建自develop
分支,每个master
分支的push都对应着一次发布。每个功能完成后,都将功能分支的代码合并到develop
分支,然后在develop
分支基础上创建release
分支,用作发布准备,待relearese
分支准备完备后,将release
分支合并到master
和develop
分支,并将master
分支发布,如果发布后出现bug,则在master
分支基础上创建hotfix
分支,在hotfix
分支上修复bug后,将hotfix
分支合并回master
和develop
分支。
将功能分支合并到develop分支有两种方法:
- 在托管平台(github)上向master分支上发pull request
- 在本地master分支上merge develop分支,然后push到远程master分支
Forking工作流
前几个工作流都只有一个远程仓库,而工作流有多个远程仓库,一般为开源代码做贡献都使用该工作流。首先从正式仓库fork一份自己的远程仓库,所有的修改都在自己的远程仓库上修改,待功能开发完成后,再向正式仓库发pull request请求合并。