我目前正在使用具有多个分支的存储库.
当我创建一个标签时,该标签是否指向当时的分支?
换句话说:每当我创建一个标签时,我是否需要切换到该分支内的所需分支和标签,以便标签在该时间点引用该分支?
我已经使用git大约一年了,并希望使用标记来标记不同版本的提交.我已经找到了很多关于用于处理标签的命令的信息,但是我想知道的是,如果我可以创建一个新的分支来完成使用标记的原因1.1.0,而不必整理我的想法.新的git命令集?
标记而不是分支必须有很多好的理由,但我想知道这些优点是什么.
所以该git tag命令列出了当前的git标签
tag1
tag2
Run Code Online (Sandbox Code Playgroud)
git tag -n 打印标签的消息
tag1 blah blah
tag2 blah blah
Run Code Online (Sandbox Code Playgroud)
获取tag1和tag2的哈希的最佳方法是什么?
我有一个使用git的项目,并使用标记标记了所有版本.
$ git tag
v1.0.0
v1.0.1
v1.0.2
v1.0.3
v1.1.0
Run Code Online (Sandbox Code Playgroud)
我的目标是在Web界面中列出发布和发布日期(标记/提交日期=发布日期).目前我们使用列出所有版本git tag.
如何获得标签制作时(或指向的提交)的时间和日期?
在git hub上我通过执行以下操作重新添加了标记:
git tag -d 12.15
git push origin :refs/tags/12.15
git tag -a 12.15 -m '12.15'
git push --tags
Run Code Online (Sandbox Code Playgroud)
标签仍然是指github上的旧标签,但在本地它是正确的.
更新:似乎github列出了最后一次提交错误,但正确下载它.
在以下几行中:
$ git tag -n1
v1.8 Tagged the day before yesterday
v1.9 Tagged yesterday
v2.0 Tagged today
$ git describe
v1.9-500-ga6a8c67
$
Run Code Online (Sandbox Code Playgroud)
任何人都可以解释为什么"git describe"不使用v2.0标签,以及如何解决这个问题?v2.0标签已被推送,所以我猜我不能删除并重新添加它.
我曾希望这会奏效:
git checkout remote/tag_name
Run Code Online (Sandbox Code Playgroud)
但事实并非如此.这样做:
git checkout tags/tag_name
Run Code Online (Sandbox Code Playgroud)
但是我做了一些奇怪的事情,我有很多遥控器,我担心如果两个遥控器有相同的标签会发生什么.签出标签时有没有办法指定遥控器?
有没有办法让我的本地git标签与遥控器的标签保持同步?也就是说 - 不仅在创建时获得新标签(像往常一样,在fetch-ing/pull-ing时),而且还不再在遥控器上修剪标签,并在其他人git push -f的标签时删除现有标签.我知道我可以git fetch remotename遵循git remote prune remotename以实现分支的类似行为.
git ×10
git-tag ×10
github ×2
branch ×1
date ×1
git-describe ×1
git-remote ×1
hash ×1
logging ×1
pull-request ×1
time ×1
verbose ×1