Github 将更改应用于两个Git分支(发布分支和开发分支)的最佳实践

Github 将更改应用于两个Git分支(发布分支和开发分支)的最佳实践,github,deployment,version-control,branch,release,Github,Deployment,Version Control,Branch,Release,我在一家目前只有两名开发人员的小公司工作。我不是GitHub的专家,我知道我们当前的工作流不一定是标准的。我不想重新设计我们的整个工作流程,只是针对这一特定挑战的合理解决方案: 我们有两个主要分支:开发和硕士。我们使用主分支进行客户端安装,因此它总是落后于开发,直到我们在主要版本之前将两者合并 由于我们的软件和目标市场的性质,我们必须能够在发布之间定期将特定客户端的自定义代码应用到主分支,以便在安装时可以使用。我们还需要将这些更改应用于开发分支,以便在下一版本中包含它们。此自定义代码包含在所有将

我在一家目前只有两名开发人员的小公司工作。我不是GitHub的专家,我知道我们当前的工作流不一定是标准的。我不想重新设计我们的整个工作流程,只是针对这一特定挑战的合理解决方案:

我们有两个主要分支:开发和硕士。我们使用主分支进行客户端安装,因此它总是落后于开发,直到我们在主要版本之前将两者合并

由于我们的软件和目标市场的性质,我们必须能够在发布之间定期将特定客户端的自定义代码应用到主分支,以便在安装时可以使用。我们还需要将这些更改应用于开发分支,以便在下一版本中包含它们。此自定义代码包含在所有将来的客户端安装/更新中,但仅可由特定客户端根据配置设置访问

我当前的解决方案是基于主分支创建“自定义功能”分支。当定制工作完成后,我们将为主分支和开发分支创建一个pull请求。因为主分支总是有与开发相同的代码,只是处于早期状态——在我看来,这应该是可行的。但正如我所说,我不是GitHub的专家,我相信这可能是危险的,原因有很多

我知道对实时发布分支应用这些类型的定期更改是有风险的。然而,由于我们软件的性质,我们的大多数客户希望在我们为他们安装时至少有一小部分定制

编辑 我知道这与这个问题非常相似:


但是我建议从发布分支而不是开发分支进行分支,所以我认为这是另一种情况(我承认这个问题中的一些概念超出了我的理解)。如果这被认为是重复的,我深表歉意。

我建议您熟悉GitFlow,因为它可能是您问题的解决方案


基本上,您是对的,正确的方法是从master分支,在分支中创建更改,然后合并到master并进行开发。请按照所附链接中的“修补程序”部分进行操作。

我建议您熟悉GitFlow,因为它可能是您问题的解决方案


基本上,您是对的,正确的方法是从master分支,在分支中创建更改,然后合并到master并进行开发。请按照所附链接中的“修补程序”部分操作。

感谢您提供的链接和信息!我想我错过了这一点,因为我不认为这些更改是一个“修复”,而是一个自定义功能。很高兴听到这是在实践中做的事情,我没有完全走错方向!谢谢你的链接和信息!我想我错过了这一点,因为我不认为这些更改是一个“修复”,而是一个自定义功能。很高兴听到这是在实践中做的事情,我没有完全走错方向!