我说3个分支机构提供3种不同的服务。让我们将这些分支称为develop-service1
,develop-service2
,develop-service3
。并且有一个主分支,它具有这三个分支中的所有更改。
develop-service1
分支仅修改service1
文件夹下的文件,其他两个分支也是如此。
有时,最紧急的错误修复将掌握。因此,有一个要求,可能是在漏洞修复部署之后,我必须将master合并到这三个分支。
我的问题是在说develop-service1
时,我希望service2
文件夹和service3
文件夹在合并主服务器时与主服务器中的文件保持同步,而不会发生任何冲突。 (理想情况下,进行主控中的任何更改,而忽略develop-service1
中的更改)。
我不知道同一问题是否还有其他风味。我尝试搜索,但不知为何无法确定那是我一直在寻找答案的正确问题。
答案 0 :(得分:0)
如果每个分支仅处理特定的目录/服务,则合并它们中的任何一个都不会引起任何冲突。 如果已将错误修复直接提交给master,并且您希望该更改反映在每个分支中,那么将master合并到每个分支中应该是绝对安全的。
git checkout develop-service1
git merge master
git checkout develop-service2
git merge master
等等。
答案 1 :(得分:0)
好,您的问题是有效的。现在让我们想象一下这种情况(自动合并)。 origin/master
中有一个新的提交,它会自动将更改合并到您的develop-service2
和develop-service3
分支中。稍后,您会发现这些分支中的本地更改丢失了,这应该是一个手动过程,您可以在其中手动选择合并origin/master
中的最新更改,即解决冲突。 GIT专门为您提供此条款,以使您避免在冲突情况下遇到麻烦,并且由于您更好地了解代码(而不是GIT;它不是那么聪明;),因此您可以更好地解决这些冲突。为了使此过程更流畅,请频繁进行提交和合并,以便将更改集成为小块,并且合并后不会遇到更大的问题。如果您想更深入地了解,请告诉我。