Git分支和合并修复程序基本

Git分支和合并修复程序基本,git,merge,branch,Git,Merge,Branch,情况是这样的。我有master和一个叫做“image2”的分支 因此,从最新的母版到现在,我分支并创建了image2。我继续在image2分部工作。。过了一会儿,一个巨大的错误被发现,也影响了主人 现在因为主版本是实时的,我需要在那里修复它。我签出到master,修复其中一个文件中的错误(我们称之为文件A),然后返回到image2继续处理该分支。问题是,现在修复只应用于master,而不是image2。 问题是:将主修复应用于image2的正确方法是什么?因为合并会带来麻烦,我想,因为image

情况是这样的。我有master和一个叫做“image2”的分支

因此,从最新的母版到现在,我分支并创建了image2。我继续在image2分部工作。。过了一会儿,一个巨大的错误被发现,也影响了主人

现在因为主版本是实时的,我需要在那里修复它。我签出到master,修复其中一个文件中的错误(我们称之为文件A),然后返回到image2继续处理该分支。问题是,现在修复只应用于master,而不是image2。 问题是:将主修复应用于image2的正确方法是什么?因为合并会带来麻烦,我想,因为image2中文件A的代码有很多新东西,但它也需要在master中应用的修复


谢谢

如果未将image2分支推送到远程存储库,您可以在新主机上重新设置该分支的基础。如果已将其推送到远程回购,则需要将其与新主机合并

如果合并是一个很大的问题,那么您可以只应用修复主分支中错误的提交。为此,请使用“cherry pick”命令


在image2分支上运行提交的git值

,您正在寻找一种称为

这为许多常见的开发场景定义了一个策略,包括您在问题中描述的“修补程序”场景

master
应始终包含在生产中积极运行的代码。因此,您可以正确地说,当您需要修复prod中的bug时,您可以从
master
创建一个热修复分支。修复错误后,热修复程序分支将部署到prod,然后合并到
master

由于功能分支可能会过时,通常需要从
master
develope
刷新功能分支。如果您想
掌握
/
开发到您的功能分支中,或者如果您想在
掌握
的基础上建立功能分支,您可以选择此选项。我个人的偏好是rebase

因为合并会带来麻烦

如果您指的是合并冲突,那么是的,当您有并行的开发轨道时(即
热修复
功能
分支),很可能会有合并冲突。我们的想法是尽早解决合并冲突,这样它们就不会堆积起来。如果您计划将您的特性分支引入master,那么您最终需要解决这些冲突,但解决这些冲突并保持最新状态是特性分支的责任

这里有一个很棒的gitflow分支图供参考。这有助于说明合并分支的方式和时间:


如果您需要外科手术修复,请选择错误修复提交。否则,您将不得不进行合并/重设基础。