Git 同一代码库上独立发布的工作流程
Git workflow for Independent Releases on same Code Base
我们是两个团队,在具有共同 git 存储库的相同代码库上工作。我们正在遵循 git-flow 并将我们的功能分支合并到开发中。但是,当我们想单独发布我们的更改时,问题就出现了。由于我们正在合并回开发,我们的开发包含两个团队的更改,因此我们依赖于发布。我们无法从开发中创建发布分支,并且在测试其他团队更改之前我们无法发布我们的更改。从某种意义上说,我们必须一起释放。由于这种依赖性,如果一个团队的更改被延迟,它也会影响另一个团队。在这种情况下是否有任何其他可用的工作流程可以提供帮助?
编辑:我正在寻找可以在上述情况下提供帮助的其他 git 流程的替代工作流程
您的工作流程存在的问题是,您在功能已知稳定之前就进行合并开发。 Develop 旨在成为一个稳定的分支,其中包含版本之间应该完成、工作和测试的新功能。在我看来,您正在做的事情是在开发一个功能,将其合并到开发中,然后确保在开发中没有任何问题。这些步骤中的后两个需要交换。
您应该做的是,在将功能分支合并到开发之前确保您的功能分支完全正常工作。这样,您就可以发布 develop 并期望它在任何给定时间(应该)是稳定的。为此,请使用以下命令确保它位于开发的上游:
git merge develop
或
git rebase develop
然后,在您的功能分支上测试该功能,确保它正常工作,然后当您将其合并到开发时,开发将与您已经测试过的分支处于完全相同的状态。
我们是两个团队,在具有共同 git 存储库的相同代码库上工作。我们正在遵循 git-flow 并将我们的功能分支合并到开发中。但是,当我们想单独发布我们的更改时,问题就出现了。由于我们正在合并回开发,我们的开发包含两个团队的更改,因此我们依赖于发布。我们无法从开发中创建发布分支,并且在测试其他团队更改之前我们无法发布我们的更改。从某种意义上说,我们必须一起释放。由于这种依赖性,如果一个团队的更改被延迟,它也会影响另一个团队。在这种情况下是否有任何其他可用的工作流程可以提供帮助?
编辑:我正在寻找可以在上述情况下提供帮助的其他 git 流程的替代工作流程
您的工作流程存在的问题是,您在功能已知稳定之前就进行合并开发。 Develop 旨在成为一个稳定的分支,其中包含版本之间应该完成、工作和测试的新功能。在我看来,您正在做的事情是在开发一个功能,将其合并到开发中,然后确保在开发中没有任何问题。这些步骤中的后两个需要交换。
您应该做的是,在将功能分支合并到开发之前确保您的功能分支完全正常工作。这样,您就可以发布 develop 并期望它在任何给定时间(应该)是稳定的。为此,请使用以下命令确保它位于开发的上游:
git merge develop
或
git rebase develop
然后,在您的功能分支上测试该功能,确保它正常工作,然后当您将其合并到开发时,开发将与您已经测试过的分支处于完全相同的状态。