我想创建一个省略某些提交的标签。因此,在创建标签时,我选择添加哪些提交(或省略哪些提交)。这将使我能够部署热修复并省去较旧(和较新)的提交。
同样可以通过使用分支来实现,但我不想为每个环境(开发、测试、登台、产品)创建一个分支。因此,如果我可以在 1 个分支中创建所有标签,我可以只将 prod 标签部署到 prod 并将 HEAD 部署到其余部分(dev、test、staging)。
也许有 git-notes 的东西?
(樱桃采摘到标签?)
我想创建一个省略某些提交的标签。因此,在创建标签时,我选择添加哪些提交(或省略哪些提交)。这将使我能够部署热修复并省去较旧(和较新)的提交。
同样可以通过使用分支来实现,但我不想为每个环境(开发、测试、登台、产品)创建一个分支。因此,如果我可以在 1 个分支中创建所有标签,我可以只将 prod 标签部署到 prod 并将 HEAD 部署到其余部分(dev、test、staging)。
也许有 git-notes 的东西?
(樱桃采摘到标签?)
如前所述,在 git 中,标签用于标识单个提交。单个提交标识整个存储库的状态和特定时间点,因此您所要求的无法在 git 中完成。
就像说的那样,可以做的是创建一个新分支,您可以在其中挑选您想要的东西,然后标记它。
我不明白你关于 prod 不需要分支的评论。确实如此,我们已经这样做了很长时间,即使使用 git 以外的其他 VCS 软件(即使已支持选择性标记/标签,因此分离是明确的)。通常的做法是为生产版本创建一个新分支,或者为每个版本创建一个分支,或者一个包含所有产品版本的生产分支。
在 Git 中,标签用于标识单个提交,分支用于标识一系列提交。您可以通过从不同的分支(或您所称的环境)中选择所需的提交来创建新分支。然后将新分支部署到 prod 并将 HEAD 部署到其余分支(开发、测试、登台)。但是,您可能需要考虑使用更适合的不同工作流程。