我们最近从svn迁移到git。我们目前有一个发布分支和一个主分支。我们在发布当天将版本合并到主版本并对其进行标记。补丁发布后将版本合并到主版本git
现在,如果我们要做一个补丁发布。这是创建一个关闭主分支作为修补程序分支,并将其合并到主,然后创建一个新的标签,并从那里释放。然后,我们还将该修补程序合并到发行版中,以便在QA进行测试时,发行版具有生产中的所有更改。
然后,当我们必须将发布分支合并回主服务器时,问题就出现了。
1)我们不能做一个快进的释放作为主已发散
2)如果我们做一个正常的合并,甚至将是安全的(这也将增加一个合并提交)将这些代码是有时候会发生什么,我们不确定会发生什么
3)我们可以重新发布master的版本,但这是一个常见的公共分支(会让开发者本地分支变得糟糕?)并且rebasing发布也会很危险? 如果我们不理想的底垫,我们不会对主分支干净的历史与标记点的所有版本无论是
你怎么做一个版本,通常处理这个
“我们在发布当天将版本合并到主版本中”读起来就好像你做了'git checkout master;混帐版本'似乎倒退。 – Schwern
将'release'合并到'master'中。 'master'已经'发散'了,但是它在'release'中也是一样的提交,所以不应该有冲突。您所描述的内容与[git flow](http://nvie.com/posts/a-successful-git-branching-model/)策略类似,这是非常常用的策略。当使用git flow时,有一个'development'分支(类似于'release'分支)。从'master'分支的修补程序与'master'和'development'合并。 'development'稍后可以再次合并到'master'中(在git流的情况下通过'release'分支)。 – Peter