假设我使用 git 标记将一个新版本投入生产,例如 1.0,并继续在 master 上工作。如果我需要修补 1.0 标签会怎样?我克隆/获取 1.0,然后向它添加提交以修复错误,但标记不只是一种标记工具吗?当我推送我的 delta 1.0+ 提交时,他们会去哪个分支?
SVN 中的相同用例我将有两个单独的分支 1.0 和主干,很明显 1.0 可以自行发散(然后合并到主干),但在 git 中,我不太清楚它是如何工作的。
假设我使用 git 标记将一个新版本投入生产,例如 1.0,并继续在 master 上工作。如果我需要修补 1.0 标签会怎样?我克隆/获取 1.0,然后向它添加提交以修复错误,但标记不只是一种标记工具吗?当我推送我的 delta 1.0+ 提交时,他们会去哪个分支?
SVN 中的相同用例我将有两个单独的分支 1.0 和主干,很明显 1.0 可以自行发散(然后合并到主干),但在 git 中,我不太清楚它是如何工作的。
因此,简短的答案(需要一些时间阅读)是采用文森特的Git Flow模型。当第一次使用 git 时,它作为一个起点非常有用。如果不出意外,了解更多关于 git 的信息是一本好书。
话虽如此。这是我会怎么做
它实际上与 SVN 非常相似。
标签是永久性的——它们用于标识发布。(在 Github 上,这不仅仅是一个约定——这就是实际识别和提供版本的方式。)
对于版本的错误修复,您需要使用某种分支约定。您使用哪种分支约定取决于您,但常见的是:
master <-- development branch, for the next release
|--1.0 <-- bug fixes to 1.0
因此,我建议从 1.0 标签开始创建一个 1.0 分支,并在该分支上进行错误修复。