Git标签使用方法

使用Git可以给指定提交打上标签,用来突出显示这个提交,比如将提交标记为v1.0、v2.0

常用命令

1、列举标签(使用如下命令即可列出所有标签)

git tag
git tag -l 									//查看本地tag
git show-ref --tag							//查看远程tag

2、当标签太多时,可以使用如下指令列出包含指定字符的标签

git tag -l "v1.*"

3、创建标签
添加-a选项即可创建标签,如下:

git tag -a v1.0 -m "version 1.0"

如上命令即可为当前提交创建一个标签,标签名为v1.0,-m选项后就是该标签的附注信息

4、推送标签
只使用git push命令在默认情况下不会将标签推送到 远程仓库,在创建标签后需要执行如下命令将指定标签推送到远程仓库:

git push origin <tagname>

5、如果要推送多个新标签,可以使用git push的–tags选项将所有标签推送到远程仓库:

git push origin --tags

6、删除标签
使用git tag的-d选项即可删掉本地仓库上的指定标签,如下:

git tag -d <tagname>

但是该指令不会删除远程仓库中的标签 ,还需要使用如下命令来更新远程仓库:

git push origin :refs/tags/<tagname>

7、切换标签
使用git checkout 指令即可将git仓库的HEAD指针指向标签所在的提交,如下:

git checkout v1.0

8、删除标签

git tag -d tagName							//删除本地
git push origin :refs/tags/tagName 			//删除远程

git 批量删除标签

删除所有远程标签

git show-ref --tag | awk '{print ":" $2}' | xargs git push origin

删除所有本地标签

git tag -l | xargs git tag -d

注意:
✔ 删除tag本地与远程是分开操作的,如果只删除远程tag,本地没有删除,进行pull操作之后,本地的tag还是存在的,不会被清理;
✔ 只批量删除本地tag,在直接进行pull操作之后,远程的tag又会被拉到本地
✔ 所以如果想把本地以及远程的tag全部删除,两个命令分开执行即可!

实现方案 (git remote -v)

origin [email protected] (fetch)
origin [email protected] (push)

1. 切换到当前需要打标签的分支(v2.1)

1.1. 如果存在当前分支test,则只需要切换即可
     git checkout v2.1
1.2. 如果不存在当前分支test,则需要创建新分支test,并提交远端
     git checkout -b v2.1
     git push origin v2.1
1.3. 如果需要删除创建错误的分支xxx
     git branch -r -d origin/xxx
     git push origin :xxx

2. 查看当前所处分支

# git branch  -l
  master
* v2.1

# git status
On branch v2.1
Your branch is up to date with 'origin/v2.1'.
未提交的更改:
  (use "git add/rm ..." to 更新将要提交的内容)
  (use "git restore ..." to 丢弃工作目录中的更改)
        deleted:    1.txt
未追踪:
  (use "git add ..." to 包括将要提交的内容)
        doc/
没有添加要提交的更改 (use "git add" and/or "git commit -a")

3. 添加本地改变(你需要修改配置文件)

git add .

4. 查看本地改变文件

git status

5.提交文件

git commit -m "haha"

6. 给本次提交打tag标签及添加描述信息

git tag -a v1.0.0 -m 'test tag'
git tag -l
v1.0.0

7. 提交信息到当前分支

注意:v2.1分支在远程仓库中可以不存在;但是本地有v2.1无法push当前分支内容,需要推送本地分支push origin v2.1:v2.1)

git push origin v1.0.0

Git标签使用方法_第1张图片

Learn more when you are young, and you will have less to ask for in the future!

你可能感兴趣的:(Git,git,github,devops,java,数据仓库)