11

我们有一个分支和一个生产分支。主分支包含当前的开发,而生产分支包含在服务器上运行的东西。有时,有一个重要的错误修复必须应用于两个分支。

目前,我们只是在主分支上创建提交后挑选提交。但这有时会在我们合并分支时产生合并冲突。有替代品吗?

4

3 回答 3

12

您可以在andbugfix-a的合并基础上创建一个新分支(我们称之为)masterproduction

git checkout -b bugfix-a $(git merge-base master production)

在该分支中应用您的错误修复

>>/path/to/file echo 'this fixes the bug'
git add /path/to/file
git commit -m 'important bugfix'

然后,将这个新分支合并到主分支和生产分支:

git checkout master
git merge bugfix-a
git checkout production
git merge bugfix-a

这样,您应该能够在以后合并 master 和 production,Git 将足够聪明地确定选择哪些提交。

(单调——是的,它不是 Git——称这个工作流为daggy fix

于 2012-08-29T16:20:01.353 回答
4

为每个修补程序创建一个单独的分支,并将其合并到您的开发分支和生产分支中。

gitflow 模型通常工作得很好,我建议检查一下: http: //nvie.com/posts/a-successful-git-branching-model/

您的 master 分支类似于他们的开发分支,您的生产分支类似于他们的 master

在此处输入图像描述

于 2012-08-29T16:21:11.413 回答
3

你可以使用 Gitflow。我认为“修补程序”可以处理您的情况。

于 2012-08-29T16:21:46.033 回答