我目前正在使用一个具有多个分支的存储库。
当我创建一个标记时,该标记是否引用当时的分支?
换句话说:每当我创建一个标记时,我是否需要切换到所需的分支和该分支中的标记,以便标记在该时间点引用该分支?
我目前正在使用一个具有多个分支的存储库。
当我创建一个标记时,该标记是否引用当时的分支?
换句话说:每当我创建一个标记时,我是否需要切换到所需的分支和该分支中的标记,以便标记在该时间点引用该分支?
当前回答
如果你通过例如。
git tag v1.0
标记将引用您当前所在分支的最近一次提交。你可以改变分支并在那里创建一个标签。
你也可以在标记时引用另一个分支,
git tag v1.0 name_of_other_branch
这将为另一个分支的最近提交创建标记。
或者,通过直接引用某个提交的SHA1,您可以将标记放在任何地方,无论哪个分支
git tag v1.0 <sha1>
其他回答
我们可以为一些过去的提交创建一个标签:
git tag [tag_name] [reference_of_commit]
eg:
git tag v1.0 5fcdb03
如果你通过例如。
git tag v1.0
标记将引用您当前所在分支的最近一次提交。你可以改变分支并在那里创建一个标签。
你也可以在标记时引用另一个分支,
git tag v1.0 name_of_other_branch
这将为另一个分支的最近提交创建标记。
或者,通过直接引用某个提交的SHA1,您可以将标记放在任何地方,无论哪个分支
git tag v1.0 <sha1>
当只调用git tag <TAGNAME>而没有任何附加参数时,git将从你当前的HEAD(即你当前分支的HEAD)创建一个新标签。当向这个分支添加额外的提交时,分支HEAD将跟上这些新的提交,而标记总是引用相同的提交。
当调用git标签<TAGNAME> <COMMIT>时,你甚至可以指定使用哪个提交来创建标签。
无论如何,标记仍然只是指向某个提交(而不是分支)的“指针”。
如果你想标记你所在的分支,那么输入:
git tag <tag>
用:
git push origin --tags
一个相关且有用的命令是
git branch --contains tag/<tag>
这将为您提供所有分支的标签上的列表
这里有更多细节…