git 个分支与发布之间的关系
Relationship between git branches and a release
我已经使用 git
一段时间了,但不清楚 git commit
与 releases
之间的关系,后者与 [=14] 之间的关系=]分支.
我现在的理解是 master
分支与 git 中的任何其他分支一样。它是在最初制作 git 存储库时用 git init
创建的。
因此,有人可以解释 git branches
与 release
之间的关系吗?
是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 并发布。您确实可以采取很多方法,具体取决于您团队的规模和性质、您需要的灵活性等。
我已经使用 git
一段时间了,但不清楚 git commit
与 releases
之间的关系,后者与 [=14] 之间的关系=]分支.
我现在的理解是 master
分支与 git 中的任何其他分支一样。它是在最初制作 git 存储库时用 git init
创建的。
因此,有人可以解释 git branches
与 release
之间的关系吗?
是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 并发布。您确实可以采取很多方法,具体取决于您团队的规模和性质、您需要的灵活性等。