git 个分支与发布之间的关系

Relationship between git branches and a release

我已经使用 git 一段时间了,但不清楚 git commitreleases 之间的关系,后者与 [=14] 之间的关系=]分支.

我现在的理解是 master 分支与 git 中的任何其他分支一样。它是在最初制作 git 存储库时用 git init 创建的。

因此,有人可以解释 git branchesrelease 之间的关系吗?

1 or M:1关系吗? (例如,一个版本中有 1 个或多个分支)?

此外,在 git branch 中如何跟踪单个更改?例如在一个分支中,我将 filex.py 中的字母 B 更改为 C 并将其提交到一个分支?

谢谢

Git 不会对您强加任何此类要求或工作流程。

一种流行的方法是 master 始终代表最新的生产版本,并且仅合并到紧接发布之前的版本,因此就是这种情况。

另一种策略是有一个 release 分支与上面的相同。

最后,可以使用 git 标签,通常与 SemVer 或其他一些版本控制方法结合使用。当大量不同的版本同时投入生产并且您需要区分它们,或者需要生成发行说明并将其与特定标签相关联时,这很有意义。

与上述类似,您最终可能还会针对不同的版本获得不同的发布分支。如果您希望在这些分支上继续单独开发,这将很有用。

发布哪些分支取决于您的工作流程。

如果您有一群开发人员致力于不同的功能和错误修复,您最终可能会在发布之前将一堆分支全部合并在一起。例如:-

  • feature/abc
  • feature/xyz
  • bugfix/1234
  • bugfix/9999

根据您的 QA 方法和工作流程,它们将被测试并合并或合并并测试,进入发布准备分支,或直接进入 master 并发布。您确实可以采取很多方法,具体取决于您团队的规模和性质、您需要的灵活性等。