Git修复现有标签/版本?


Git hotfixing existing tags/releases?

假设我将新版本滚动到生产中,例如 1.0使用git标记并继续在master上工作。 如果我需要修补1.0标签会发生什么? 我克隆/获取1.0,然后为了修复bug而添加提交,但是不仅仅标记一个标记工具? 当我推动我的delta 1.0+提交哪个分支他们去?

在SVN中使用相同的用例我会有两个独立的分支1.0和trunk,很明显1.0可以自己发散(然后合并到trunk)但是在git中我不太清楚它是如何工作的。


因此,简短的回答(需要一些时间阅读)是采用Vincent的Git Flow模型。当第一次用git盯着时,它作为一个起点真的很棒。如果没有别的,那么了解更多有关git的信息是很好的。

话虽如此。我就是这样做的

  • 签出标签并将其转换为分支(如果尚未存在)
  • 进行更改并测试它们,重复1.1(或类似)
  • 发布
  • 合并(或樱桃挑选,如果你的味道)成为主人,以保持未来的版本(2.0)也有错误修复。


它实际上与SVN非常相似。

标签是永久性的 - 它们用于识别版本。 (在Github上,这不仅仅是一个约定 - 这就是实际识别和提供版本的方式。)

对于版本的错误修复,您需要使用某种分支约定。您使用什么样的分支约定取决于您,但常见的是:

1
2
master    <-- development branch, for the next release
|--1.0       <-- bug fixes to 1.0

因此,从1.0标记开始创建一个1.0分支,并建议在该分支上修复bug。