gpt4 book ai didi

git - git 标签适用于所有分支吗?

转载 作者:IT王子 更新时间:2023-10-29 00:34:46 24 4
gpt4 key购买 nike

我对 git 标记很感兴趣,但我以前的背景是 Subversion,其中“标签”实际上只是副本,而不是“真正的”标签...

如果我将标签添加到 git 存储库,它是应用于所有分支还是仅应用于当前分支?

例如,如果我当前有这些分支(git branch -v):

* master deadbeef My master head comment
dev baddfeed My def head comment

如您所见,当前 checkout 的分支是 master。现在假设我 git tag -a TAGNAMETAGNAME 是否仅适用于 deadbeef(master 分支)或 baddfeed (开发分支)也是?

例如,假设我随后在 checkout 标签之前切换到开发分支(即,不是创建标签的分支):

git checkout dev
git checkout TAGNAME

然后我最终会 checkout baddfeed 还是标签 checkout (第二行)将我切换回主分支(创建标签的地方)并给我 checkout 死牛肉?(或者第三个选项,我对创建和恢复标签的理解是否有缺陷或过于简单以至于答案不能像这两个选项中的一个一样简单?)

此外,如果我使用轻量级标签 (git tag TAGNAME) 而不是带注释的标签,我的问题的答案是否会发生任何变化?

最佳答案

假设您在分支 myBranch 中。然后你创建一个名为 myTag

的标签
-----A-----B-----C-----D-----H-------I-----> master
\
\
\---E----F-----G-----> myBranch
|
myTag

标签只会出现在 myBranch 分支的提交对象上。我也使用过 CVS,它也标记修订,不是所有分支(但在 CVS 分支中是特殊标记)。我不认为。

如果您 checkout myTag,您将在示例的提交 G 中。您不能在不同的分支上创建具有相同名称的标签。如果这样做,您将移动标签。

与此相关的注释标签没有区别。

注意: checkout 标签时,您最终会进入“分离的 HEAD”模式。除非您从 checkout 的标签开始创建另一个分支,否则您的更改将会丢失。

关于git - git 标签适用于所有分支吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18088183/

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