git创建一个可以应用于2个地方的补丁

时间:2014-09-15 08:40:34

标签: git

这是我的树:

----production-----------------development

因此,生产不是分支的分支,而是较旧的提交(或标记)。现在我发现了一个错误修正,我希望它适用于生产和开发。这很重要,因为我有一个生产服务器,它从生产快照和运行最新代码的开发服务器运行代码。

如果我只是进行更改并提交,则只会影响开发。我的生产服务器不会得到错误修复。

我该怎么做?

2 个答案:

答案 0 :(得分:0)

您可以git rebase -i并在productiondevelopment之前插入新提交。

  

new - >生产 - >发展

然而,这需要强制推送和重写历史记录,因此我建议您从production分支机构进行结帐,然后将提交分别合并到productiondevelopment

答案 1 :(得分:0)

您只需在生产分支中应用补丁,然后将其合并到开发中:

git checkout production
# fix your bugs
git commit -m 'fixed bug'
git checkout development
git merge production

您生成的DAG将如下所示:

---o--------------------o---------development (with merged fix)
    \                            /
     `--production (with fix) --'

(左o是旧的生产分支提示,右o是旧的开发分支提示)