Gitflow工作流

image.png

原文在此 : Git工作流指南:Gitflow工作流

Q: 为什么需要develop分支
A: 避免没完成, 待测试的代码影响到master版本, 保证master分支的代码始终是正确的, 这对应有自动构建的项目很重要.

Q: release分支作用
A: 抱歉 我也不是很明白

Q: 为什么需要feature分支
A: 每个人都应该有各自的feature分支, 在这个分支中的代码只有自己能使用, 比如中午代码写了一半了 提交一次代码在去吃饭, 这时候就应该提交到你自己的feature分支, 因为你现在的代码可能连运行都不能运行, 所以也别提交到develop分支上去影响他人; 吃完饭回来 这时候得知下午不上班, 然后爱工作的你到家pull下你的feature分支继续开发未完成的代码

Q: 提交测试流程
A: 先切换到develop分支, 把刚刚做好的feature融合到develop分支当中 然后push到远程develop分支.

Q: 上线流程
A: 切换到master分支, 将要上线的feature融合到master分支再push; 如果有Pull Request就需要将你的feature分支push至远程服务器, 在远程服务器上操作Pull Request. 注意: 为了能方便的进行Pull Request, 最好在提交feature之前先marge一下master分支以避免太多的冲突

QQ: 这里的上线流程和原文中很不一样, 我们为什么直接将feature直接融合到master 而不是先提交到develop然后由develop融合到master分支呢?
AA: 试想一下这个场景: 小红做的一个A功能将于20好上线,但是 10号就做好并提交到develop分支了, 小明做的B功能将于15号上线, 小明在12号做好了然后提交到了develop分支. 12号之后 develop分支是不是就有了AB两个功能了呢? 如果直接使用develop分支融合到master分支就会造成本应该20号上线的A功能也一起上线了. 所以我们改用由带有B功能feature分支直接合并master分支以上线.

你可能感兴趣的:(Gitflow工作流)