$ mkdir a
$ cd a
$ git init
//首次提交tag。
$ vim 1.txt $ git add . $ git commit -m 'v1.0' $ git tag v1 $ cd .git $ ls -alh refs/tags/ total 1.0K drwxr-xr-x 1 desktop 197121 0 八月 8 19:28 ./ drwxr-xr-x 1 desktop 197121 0 八月 8 19:27 ../ -rw-r--r-- 1 desktop 197121 41 八月 8 19:28 v1 $ cat refs/tags/v1 94703d9dfdd11d114462a2928a498698c90f4571 $ git show -s --pretty=raw 94703d9dfdd11d114462a2928a498698c90f4571 commit 94703d9dfdd11d114462a2928a498698c90f4571 tree 38fd29697b220f7e4ca15b044c3222eefe5afdc1 author Neverever00544 <1919031949@qq.com> 1533727692 +0800 committer Neverever00544 <1919031949@qq.com> 1533727692 +0800 v1.0 $ git ls-tree 38fd29697b220f7e4ca15b044c3222eefe5afdc1 100644 blob d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 1.txt $ git show d00491fd7e5bb6fa28c517a0bb32b8b506539d4d 1
//再次提交tag。
$ cd .. $ vim 1.txt $ git add . $ git commit -m 'v1.0' $ git tag v1 $ cd .git $ ls -alh refs/tags/ total 2.0K drwxr-xr-x 1 desktop 197121 0 八月 8 19:33 ./ drwxr-xr-x 1 desktop 197121 0 八月 8 19:27 ../ -rw-r--r-- 1 desktop 197121 41 八月 8 19:28 v1 -rw-r--r-- 1 desktop 197121 41 八月 8 19:33 v2 $ cat refs/tags/v2 a316b024cc444cd7c5d299e471d613b2bde69a20 $ git show -s --pretty=raw a316b024cc444cd7c5d299e471d613b2bde69a20 commit a316b024cc444cd7c5d299e471d613b2bde69a20 tree 5457b3462c78fd6d7590a15ad3be446a4fb5d1fd parent 94703d9dfdd11d114462a2928a498698c90f4571 author Neverever00544 <1919031949@qq.com> 1533727975 +0800 committer Neverever00544 <1919031949@qq.com> 1533727975 +0800 v2.0 $ git ls-tree 5457b3462c78fd6d7590a15ad3be446a4fb5d1fd 100644 blob 1191247b6d9a206f6ba3d8ac79e26d041dd86941 1.txt $ git show 1191247b6d9a206f6ba3d8ac79e26d041dd86941 1 2
//更改、删除。
$ git tag -d v1 $ git tag v1.0 94703d9dfdd11d114462a2928a498698c90f4571 $ ls -alh refs/tags/ total 2.0K drwxr-xr-x 1 desktop 197121 0 八月 8 19:36 ./ drwxr-xr-x 1 desktop 197121 0 八月 8 19:27 ../ -rw-r--r-- 1 desktop 197121 41 八月 8 19:36 v1.0 -rw-r--r-- 1 desktop 197121 41 八月 8 19:33 v2
//导出某个版本,需要 tag。
//git archive --format=tar --prefix=out/ v1.0 | gzip > ./v1.0.tar.gz //out/ 压缩包根目录
$ cd .. $ git archive --format=tar --prefix=out/ v1.0 | gzip > ./v1.0.tar.gz $ git archive --format=tar --prefix=out/ v2 | gzip > ./v2.tar.gz