git打标签用途很广泛. 记录下相关命令

本地操作

#说明: 下文中的[]中的内容是选填的,可以无视方框内容,
#      也可以去掉方框选填其中内容

#查询

git tag

#增加

#0.
git tag [-f] your_tag_name [head(注)]
#1.
git tag [-f] your_tag_name [head] -m "your subject"
#2.
git tag [-f] your_tag_name [head] -a <CR>
...blablabla

# -f 是指强制更新
# -m 是指只加一个subject的标签
# -a 是指加一段文字的标签,打上-a 后,会跳出个文件让你写详细内容,
#     第一行是subject ,
#     第二行空,第三行开始写详述若需要的话

#删除

git tag -d tag_name

#重命名
#重命名一般是使用新建-删除组合

git tag [-f] new_tag_name old_tag_name
git tag -d old_tag_name 
#另一种方法是,修改.git文件,修改.git/refs/tags/ 文件夹中文件名即可,比如
mv .git/refs/tags/new_tagname .git/refs/tags/old_tagname

#其他

git tag -h

(注)此处head为 git log 后显示的comment后一串字符的前N位(长度随意,但要保证你输入的字符没有二义性),同时,它还可以是另外一个tag的名字, 比如 git tag1 tag2 也是可以的

远程操作

#general push
git push origin --tags
#它就是上传本地的tag设置,服务器不会删除本地已经删除的东西
#delete
git push origin :refs/tags/tag_to_delete
#它是 git push origin refs/tags/tag_local:refs/tags/tag_remote 的变体

远程操作删除标签应该有更简单的手法的 -- 若哪位知道,求帮助 能不能强制(和前文中的-f一样),直接把本地的tag配置刷到服务器上么?

Categories: Code

Yu

Ideals are like the stars: we never reach them, but like the mariners of the sea, we chart our course by them.

Leave a Reply

Your email address will not be published. Required fields are marked *