是否可以(或建议)进行回顾性 git 流程发布?

Is it possible (or advisable) to do a retrospective git flow release?

在发现 git 流程之前,我现在已经开发了多个版本的项目。

为了与未来的开发保持一致,我想将过去的提交标记为 1.0、1.1 等版本。

我的 Git-fu 不是最好的,所以我将在这里使用 Source Tree 来帮助我。我看到你可以 select 在 selecting "New Release" 时提交过去的提交,但这会如我所愿吗?

也有可能我从根本上误解了什么是发行版;从 git 流的角度来看,我将其理解为从 develop 创建的分支,然后标记,然后合并回 develop 和 master。

所以说我要在这里发布 3.0,但我想回顾一下发布 1.0、1.1 和 2.0:

tags                1.0   1.1   2.0   3.0
master  __*__*__*____.__.__.__.__.__.__.  no commits for a long time
release             /     /     /     /  
develop __*__*__*__/\_*__/\_*__/\_*__/    commits all the way along
commits   a  b  c     x     y     z    

我可以/应该这样做吗?

两个问题:

Can I do this?

如果您的 master 已经包含您想要包含在版本 1.0、1.1 和 2.0 中的提交,则否。当您尝试从发布分支创建合并时,您将收到 Already up-to-date 作为来自 git 的响应。

Should I do this?

如果您想要做的只是确保您拥有表明您的版本的标签,那么不。只需在 已标记发布分支合并的提交处创建一个新标记。

Jeremy@localhost ~/git-test master
$ git log --oneline
afcc012 Submodule commit.
45926a2 Second.
a5c809b Initial.

Jeremy@localhost ~/git-test master
$ git tag 1.1 45926a2

Jeremy@localhost ~/git-test master
$ git tag
1.1

那就从这里开始git流动吧!

顺便说一句,如果您在没有对分支机构进行某种发布管理的情况下也过得很好,那么 git 流程对您来说可能有点矫枉过正。当与小团队或我自己一起工作时,我发现 GitHub flow 更合适一些。