我使用轻量级标记标记了一个提交,并将该标记推送到远程仓库,与其他开发人员共享.我现在意识到我应该注释它以便它出现在git describe.
有没有办法转换它/重新标记提交而不破坏事情?
CB *_*ley 31
轻量级标记只是指向该提交的"ref".您可以在旧标记的顶部强制创建新的带注释标记:
git tag -a -f <tagname> <tagname>
Run Code Online (Sandbox Code Playgroud)
从Git v1.8.2开始,你需要使用--force替换遥控器上的任何标签git push,即使你用一个有效的快进或真正的标签对象替换一个轻量级标签,指向与现有标签相同的提交标签参考.
git push --force origin <tagname>
Run Code Online (Sandbox Code Playgroud)
Sam*_*amB 21
根据Charles的回答和这篇博客文章,我认为最好使用这样的东西:
#!/bin/sh
tag=$1
date="$(git show $tag --format=%aD | head -1)"
GIT_COMMITTER_DATE="$date" git tag -a -f $tag $tag
Run Code Online (Sandbox Code Playgroud)
将所有标签转换为带注释的(基于 Charles Bailey 的示例和 Ferenc W\xc3\xa1gner 的评论):
\n\nfor tag in $(git tag -l); do git tag -a -f $tag $tag^0 -m $tag; done\ngit push --tags --force\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
6973 次 |
| 最近记录: |