我可以签出/创建一些遗漏某些提交的标签吗?

时间:2012-07-12 13:05:14

标签: git git-branch git-tag

我想创建一个省略某些提交的标记。因此,在创建标记时,我选择要添加的提交(或省略哪些提交)。这将使我能够部署一个hotfix并省略旧的(和更新的)提交。

使用分支可以实现同样的目的,但我不想为每个环境(dev,test,staging,prod)创建一个分支。因此,如果我可以在1个分支中创建所有标记,我只能将prod标记部署到prod,将HEAD部署到其余部分(dev,test,staging)。

也许是git-notes的东西?

(樱桃挑选标签?)

2 个答案:

答案 0 :(得分:1)

在Git中,标签用于标识单个提交,而分支用于标识提交序列。您可以通过从不同分支(或您调用它们的环境)中选择所需的提交来创建新分支。然后将新分支部署到prod,将HEAD部署到其余部分(dev,test,staging)。但是,您可能需要考虑使用更适合的不同工作流程。

请参阅http://nvie.com/posts/a-successful-git-branching-model/

答案 1 :(得分:1)

如上所述,git标签用于标识单个提交。单个提交标识整个存储库的状态和特定的时间点,因此您无法在git中完成所要求的内容。

如上所述,可以做的就是创建一个新的分支,在那里你可以挑选你想要的东西然后标记它。

我不明白你的评论,prod不需要分支。它确实如此,我们已经用这种方式做了很长时间,即使使用其他VCS软件而不是git(即使支持选择性标记/标记,因此分离是明确的)。通常的做法是为生产版本创建一个新分支,每个版本对应一个版本或一个包含所有prod版本的生产分支。