git tag
git的tag
,跟分支一样简单。
打tag
每次上线养成打tag好习惯 :)
$: git tag 20101023_publish
加上-f
覆盖原有的tag
$: git tag -f 20101023_publish
显示所有的tag
$: git tag 20101015_publish 20101019_publish 20101021_publish
删除tag
$: git tag -d 20101023_publish
服务器上的tag
tag
要push
上服务器,操作跟分支操作没有任何区别
# push 到服务器 $: git push origin 20101023_publish # 从服务器上删除 $: git push origin :20101023_publish
值得注意的是,如果tag名字和分支名字一样的时候,push需要指定refs
的详细路径,因为分支和tag
在git内部是这样表示的(只是引用),tag
只存储所指向的那一次提交:
refs/tags/{tagnane} refs/heads/branches/{branchnane}
所以要这样push
相同名字的tag
和分支
$: git push origin refs/tags/product $: git push origin refs/heads/branches/product
把所有的tag
都push
到服务器上
$: git push origin --tags
如果你的 tag 名是 1.0
,可以按照如下方式导出。
1. 导出并压缩为 zip
格式:
$ git archive --format=zip --output=v1.0.zip 1.0
2. 导出并压缩为 tar.bz2
格式:
$ git archive 1.0 | bzip2 > v1.0.tar.bz2
3. 导出并压缩为 tar.gz
格式:
$ git archive --format=tar 1.0 | gzip > v1.0.tar.gz