gpt4 book ai didi

GIT:每个提交的标签是唯一的吗?

转载 作者:太空狗 更新时间:2023-10-29 13:48:09 25 4
gpt4 key购买 nike

如果您只能使用一个标签一次(通过提交唯一),我该如何处理标签“Version 7.3”中的 7 次提交?
我讨厌 GIT 不生成修订号(比如 SVN :))。

我想子问题应该是:
“控制”版本号的最佳做法是什么(前修订版,所以我想在每次提交中保存 major.minor 并在每个分支中明确保存(我为每个次要创建> = 1个分支)) .

第一个问题有一个事实答案(我认为)。
第二个更像是最佳实践探索。

非常感谢!我从 stackoverflow FTW 学到了很多 GIT!

最佳答案

我不确定你的第一个问题是什么,但我可以为你回答第二个问题。

只需标记每个版本。 “v1.0”、“v1.1”、“v2.0”。标签与分支完全分开,因此您选择如何处理标签并不取决于您选择如何处理分支。

例如,如果您的存储库如下所示:

A--B--C--D--E  <- master
\
--C'-D'-E' <- test_branch

您可以将标记应用于分支 E' 并安全地删除 test_branch,而不会丢失 E' 中的代码。出于这个原因,人们很少为历史版本维护 git 分支。使用版本号标记发布,并随时删除不再需要的任何分支。

FWIW,我也使用这种技术将我的分支保持在最低限度。如果我在新分支上走上死胡同,我可以标记该分支(以防万一)并删除该分支。如果我再次需要该代码,我可以通过标签获取它。


编辑回复:您的评论。

Exactly my point: "one tag references one commit"? That kinda sucks, no?

我不觉得这很糟糕。如果你想保留一个时间点的引用,你可以使用标签,如果你想保留对一组变更集的引用,你可以使用分支。

@VonC 对 git-describe 的提及是正确的。这就是我用来将版本号注入(inject)我所有代码的方法。向公众发布的任何内容都将总是 获得一个标签,因此 git describe 返回类似于“v1.0”的内容。内部测试版本将被标记为“v1.0-10-abcd1234”之类的东西,这表明我在 v1.0 标记之前进行了 10 次提交,并提供了哈希值,以便我可以轻松访问它直接提交。

关于GIT:每个提交的标签是唯一的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3790669/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com