Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.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 如何在软件开发的Train模型中管理特性或请求?_Git_Jenkins_Build_Version Control_Agile - Fatal编程技术网

Git 如何在软件开发的Train模型中管理特性或请求?

Git 如何在软件开发的Train模型中管理特性或请求?,git,jenkins,build,version-control,agile,Git,Jenkins,Build,Version Control,Agile,我们的团队现在正着手发布train部署模型(),我们需要工具或方法来管理合并请求和构建新版本的方式 注意:我将使用Git术语来解释这个问题 使用释放序列部署模型,释放以固定的时间表进行,并且特性固定到特定的释放。但该模型的核心思想是,如果某个功能不完整或特别是没有bug,则该功能不会在下一版本中使用,而是安排在以后的版本中使用 考虑到这一点,我们需要一些方法来管理Pull请求和发布构建,具体如下: 可以使用所有的特性分支进行构建,这样就可以对该构建进行测试(QA)。我们不想在我们的开发或发布分支

我们的团队现在正着手发布train部署模型(),我们需要工具或方法来管理合并请求和构建新版本的方式

注意:我将使用Git术语来解释这个问题

使用释放序列部署模型,释放以固定的时间表进行,并且特性固定到特定的释放。但该模型的核心思想是,如果某个功能不完整或特别是没有bug,则该功能不会在下一版本中使用,而是安排在以后的版本中使用

考虑到这一点,我们需要一些方法来管理Pull请求和发布构建,具体如下:

  • 可以使用所有的特性分支进行构建,这样就可以对该构建进行测试(QA)。我们不想在我们的开发或发布分支中实际合并它。(为什么?下一点是关于它的)

  • 因此,如果一个特性不是零bug(无bug),我们就想放弃该特性。因此,我们将实际上只合并具有零bug的功能,并创建新的发布版本。通过这种方式,可以很容易地删除特征。就发布序列术语而言,该功能不会登上发布序列

  • 我们的想法是:

    假设master包含发布的代码。现在,要素分支F1、F2、F3将在其上创建

  • 我们的自动化设置将按时间顺序将这些功能分支(来自具有“已批准”状态的拉请求)合并到从master中剪切出来的临时分支中,并且该设置将从此临时分支创建一个用于QA测试的构建。(合并临时分行不会关闭PR)

  • 现在,若只有功能F1和F3在零缺陷日期是无缺陷的,那个么F1和F3的PRs将手动合并到master中,并从master中创建最终发布版本

  • (注意:对于第1点,如果出现合并冲突,则各个分支的开发人员将解决该冲突。)

    是否有任何Jenkins插件或任何其他工具可以帮助我们实现上述目标。 请分享一些想法,并提出处理此问题的更好方法

    因此,我们实际上只合并没有bug的特性,并创建新的发布版本

    嗯。。。问题是合并的结果(意味着“0 bugs feature Branchs”合并)可能会导致一些bug
    一个0-bug特性分支(当单独开发时)在集成时可能会有bug

    遵循发布序列模型的一般git工作流是(一个词)

    其思想是将下一版本所需的分支合并到中间瞬态集成分支(您可以称之为“集成”或“开发”或“下一个”) 该分支将为每个新版本重新创建,并允许在集成中(一起)测试这些特性分支

    然后,您将只合并到下一版本实际需要的主版本。
    您不能将
    集成
    分支合并到
    。仅
    功能
    分支

    查看更多和更多信息。
    我回答

    因此,我们实际上只合并没有bug的特性,并创建新的发布版本

    嗯。。。问题是合并的结果(意味着“0 bugs feature Branchs”合并)可能会导致一些bug
    一个0-bug特性分支(当单独开发时)在集成时可能会有bug

    遵循发布序列模型的一般git工作流是(一个词)

    其思想是将下一版本所需的分支合并到中间瞬态集成分支(您可以称之为“集成”或“开发”或“下一个”) 该分支将为每个新版本重新创建,并允许在集成中(一起)测试这些特性分支

    然后,您将只合并到下一版本实际需要的主版本。
    您不能将
    集成
    分支合并到
    。仅
    功能
    分支

    查看更多和更多信息。

    我回答。

    谢谢@VonC,gitworkflow似乎是一个很好的解决方案。但是,我想我不能像你提到的那样清楚地表达我的观点:“一个0-bug的特性分支(在单独开发时)在集成时可能会有bug。”我们不打算单独测试特性分支。我们计划将功能分支合并到一个虚拟分支中,以便在不关闭原始PR@FerozAhmad的情况下为QA创建构建。听起来不错。gitworkflow与您的方法兼容。唯一的问题是:一旦这个QA构建完成并经过测试,您将需要再次合并这些功能分支,以便最终确定下一个版本:这就是允许您删除您不想要的功能分支,并只保留一起工作的功能分支。感谢@VonC,gitworkflow似乎是一个很好的解决方案。但是,我想我不能像你提到的那样清楚地表达我的观点:“一个0-bug的特性分支(在单独开发时)在集成时可能会有bug。”我们不打算单独测试特性分支。我们计划将功能分支合并到一个虚拟分支中,以便在不关闭原始PR@FerozAhmad的情况下为QA创建构建。听起来不错。gitworkflow与您的方法兼容。唯一的问题是:一旦完成并测试了这个QA构建,您将需要再次合并那些要掌握的功能分支,以便最终确定下一个版本:这就是允许您删除您不想要的功能分支的原因,并且只保留那些可以一起工作的功能分支。