Git 功能分支的流程和同步
Git flow and syncing of feature branches
我来自 Perforce,所以请原谅我的初学者问题。我正在评估 git 及其集成模型。在 Perforce 中,我有一个 master
和一个 develop
分支。 feature1
和 feature2
是 develop
的分支 - 与 git 流程非常相似,只是 master
中的更改返回到 feature
分支,所以循环集成模型。
master-------+-----+
⬆ | |
+-develop | |
⬆ ⬇ |
+-----feature1-+ |
⬆ ⬇
+------------feature2
这解决了我们 C++ 管道中的一个大问题。有人将他的功能合并到 develop
中,让我们假设由于未正确解决的冲突等导致编译器错误(由于 8 个不同的目标,开发人员根本无法在本地解决所有问题)。所以他们提交它,在构建服务器上编译它并修复遗留的任何问题。仅当 develop
在所有平台上编译时,更改才会合并到 master
中。所以它就像一个安全分支,所以在 master
中没有任何损坏。有了这个解决方案,每个开发人员都可以放心,从 master
到他的 feature
分支的任何集成都是干净的并且可以工作。
现在我的问题是,git 流程是如何实现的?特性如何从一个特性分支毫无问题地转移到另一个特性分支?
分支机构政策
如何仅在您的 master 分支上构建 运行
据我了解,pure git 不提供此类功能。基本上,您可以无限制地将每个提交合并在一起。
然而,您需要的是所谓的分支策略。
这些不是纯 git 的一部分,但一些供应商提供它们。
因此,一切都与在哪里托管您的存储库有关。
我不想为 Microsoft 做广告,但我认为 Azure DevOps 正是您所需要的。
Here 是 link 关于 Azure DevOps git 中的分支策略。我推荐关于构建验证的部分,如果构建成功,它只允许在 master 分支上合并。
其他供应商也可能提供这些东西,但我不太清楚,因为我主要使用 Azure DevOps。
Git 分支模型
如何使用分支机构
当谈到 git 工作流和分支模型时,有多种方法,每种方法各有优缺点。
如果您想继续使用 Perforce 分支的基本理念,我建议您使用 this 分支模型。
关于你的问题
if "ring/cycle merges/integrations" are even possible, common or recommended
我想我可以用“是的,这是可能的和常识性的,但我不会称它们为圆环或圆圈”来回答这个问题。网站上显示的分支模型是一个很好的例子,说明如何使用合并在分支机构之间交换信息。
结论
- 使用分支策略来保护您的主分支。只会提交工作代码。
- 使用分支模型合并分支之间的更改
干杯,祝你好运!
我来自 Perforce,所以请原谅我的初学者问题。我正在评估 git 及其集成模型。在 Perforce 中,我有一个 master
和一个 develop
分支。 feature1
和 feature2
是 develop
的分支 - 与 git 流程非常相似,只是 master
中的更改返回到 feature
分支,所以循环集成模型。
master-------+-----+
⬆ | |
+-develop | |
⬆ ⬇ |
+-----feature1-+ |
⬆ ⬇
+------------feature2
这解决了我们 C++ 管道中的一个大问题。有人将他的功能合并到 develop
中,让我们假设由于未正确解决的冲突等导致编译器错误(由于 8 个不同的目标,开发人员根本无法在本地解决所有问题)。所以他们提交它,在构建服务器上编译它并修复遗留的任何问题。仅当 develop
在所有平台上编译时,更改才会合并到 master
中。所以它就像一个安全分支,所以在 master
中没有任何损坏。有了这个解决方案,每个开发人员都可以放心,从 master
到他的 feature
分支的任何集成都是干净的并且可以工作。
现在我的问题是,git 流程是如何实现的?特性如何从一个特性分支毫无问题地转移到另一个特性分支?
分支机构政策
如何仅在您的 master 分支上构建 运行
据我了解,pure git 不提供此类功能。基本上,您可以无限制地将每个提交合并在一起。
然而,您需要的是所谓的分支策略。 这些不是纯 git 的一部分,但一些供应商提供它们。 因此,一切都与在哪里托管您的存储库有关。 我不想为 Microsoft 做广告,但我认为 Azure DevOps 正是您所需要的。
Here 是 link 关于 Azure DevOps git 中的分支策略。我推荐关于构建验证的部分,如果构建成功,它只允许在 master 分支上合并。
其他供应商也可能提供这些东西,但我不太清楚,因为我主要使用 Azure DevOps。
Git 分支模型
如何使用分支机构
当谈到 git 工作流和分支模型时,有多种方法,每种方法各有优缺点。 如果您想继续使用 Perforce 分支的基本理念,我建议您使用 this 分支模型。
关于你的问题
if "ring/cycle merges/integrations" are even possible, common or recommended
我想我可以用“是的,这是可能的和常识性的,但我不会称它们为圆环或圆圈”来回答这个问题。网站上显示的分支模型是一个很好的例子,说明如何使用合并在分支机构之间交换信息。
结论
- 使用分支策略来保护您的主分支。只会提交工作代码。
- 使用分支模型合并分支之间的更改
干杯,祝你好运!