Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git流:在临时服务器上测试功能_Git_Version Control_Git Flow - Fatal编程技术网

Git流:在临时服务器上测试功能

Git流:在临时服务器上测试功能,git,version-control,git-flow,Git,Version Control,Git Flow,我将Git Flow用于一个工作项目,无法确定处理以下情况的最佳方法: 开发者Anya创建一个功能[Feature1] 开发人员Fred创建了一个功能[Feature2] 两位开发人员都已经完成了他们的特性规范,现在想把它们放到一个暂存服务器中,以便在下一个版本中进行问答/批准 我看到的选项如下: 两个开发人员都完成了将它们合并到一个开发分支中的功能。登台服务器已签出开发分支 这里的问题是,假设在测试Feature2的过程中,发现有一个bug,或者有一个不可预见的增强可以添加,甚至可能被放弃,或

我将Git Flow用于一个工作项目,无法确定处理以下情况的最佳方法:

开发者Anya创建一个功能[Feature1]

开发人员Fred创建了一个功能[Feature2]

两位开发人员都已经完成了他们的特性规范,现在想把它们放到一个暂存服务器中,以便在下一个版本中进行问答/批准

我看到的选项如下:

两个开发人员都完成了将它们合并到一个开发分支中的功能。登台服务器已签出开发分支

这里的问题是,假设在测试Feature2的过程中,发现有一个bug,或者有一个不可预见的增强可以添加,甚至可能被放弃,或者无限期地延迟。现在所有功能都被搁置,发布被推迟,直到Feature2修复/满足新规范,或者我们恢复合并并重新打开功能,发布开始。这是一个可以接受的解决方案吗

另一个选择是存在第三个单独的分支,称为staging。开发人员将各自的功能合并到登台分支中,并推送到登台远程,在那里测试每个功能。该功能只有在获得批准后才能完成并合并到开发分支中

这种方法的好处是开发分支基本上只包含批准的特性,并且可以随时从中获取发布。缺点是我们需要将登台服务器切换到签出开发分支,以便在发布阶段测试所有内容。此外,如果功能被放弃,或者我现在想不起的其他原因,那么登台分支可能会偏离现实,这意味着它需要定期从live中重新检查


我意识到这可能是部署管道和CI解决的问题,但我很好奇其他人如何使用git分支模型或git流来解决这个问题。

由于来自功能分支的代码需要由QA测试/批准,开发人员可以将功能分支分别推送到远程和QA合并/测试功能分支。即使某个功能分支中有一个未经批准,也不会影响其他功能分支发布新版本