Git系列五之標籤管理

筆者Q:552408925、572891887
架構師羣:471443208
bjstack運維社區:524721466

1.Git標籤管理

當版本倉庫內的數據有個大的改善或者功能更新,我們經常會打一個類似於軟件版本號的標籤,這樣通過標籤就可以將版本庫中的某個歷史版本給記錄下來,方便我們隨時將特定歷史時期的數據取出來用,另外打標籤其實只是像某個歷史版本做了一個指針,所以一般都是瞬間完成的。

1.1創建本地標籤

創建帶有說明的標籤,-a指定標籤名字,-m指定說明文字

[root@git-node1 demo]# git tag -a v1.0.0 -m "version 1.0.0 release"

1.2查看本地標籤

1.查看當前本地所有標籤

[root@git-node1 demo]# git tag -l v*
v1.0.0
v1.0.1

2.查看當前1.0版本的詳細信息

[root@git-node1 demo]# git show v1.0.0
tag v1.0.0
Tagger: xuliangwei <[email protected]>
Date:   Sun Nov 6 03:12:44 2016 +0800

version 1.0.0 release

commit 95734131860ef7c9078b8a208ff6437d0952380b
Author: xuliangwei <[email protected]>
Date:   Sun Nov 6 02:15:35 2016 +0800

    chnged name index.html->index.php

diff --git a/index.html b/index.html
deleted file mode 100644
index e69de29..0000000
diff --git a/index.php b/index.php
new file mode 100644
index 0000000..e69de29

1.3刪除本地標籤

我們爲同一個提交版本設置了兩次標籤,刪除重複性的標籤

[root@git-node1 demo]# git tag -d v1.0.1
已刪除 tag 'v1.0.1'(曾爲 3c13e43)
[root@git-node1 demo]# git tag -l v*
v1.0.0

1.4推送本地標籤

如上操作都是基於打標籤以及刪除標籤,下面我們來學習下打完標籤後如何推送至遠端服務器
也可以使用git push origin –-tags推送所有本地建立的tag包

[root@git-node1 demo]# git push origin v1.0.0
Counting objects: 1, done.
Writing objects: 100% (1/1), 167 bytes | 0 bytes/s, done.
Total 1 (delta 0), reused 0 (delta 0)
To git@git-node1:root/git_demo.git
 * [new tag]         v1.0.0 -> v1.0.0

1.5獲取遠程標籤

使用git pull獲取最新tag包,可以使用git fetch強制獲取

[root@git-node1 git_demo]# git pull origin v1.0.0s
remote: Counting objects: 1, done.
remote: Total 1 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (1/1), done.
來自 git-node1:root/git_demo
 * [新tag]           v1.0.0     -> v1.0.0
Already up-to-date.

1.6刪除遠程標籤

通過push delete參數來刪除遠程標籤

[root@git-node1 git_demo]# git push origin --delete tag v1.0.0
To git@git-node1:root/git_demo.git
 - [deleted]         v1.0.0

也可以先刪除本地tag標籤,然後推送空標籤至於遠程進行刪除

[root@git-node1 git_demo]# git tag v1.0.1
[root@git-node1 git_demo]# git push origin v1.0.1
Total 0 (delta 0), reused 0 (delta 0)
To git@git-node1:root/git_demo.git
 * [new tag]         v1.0.1 -> v1.0.1

//刪除本地tag
[root@git-node1 git_demo]# git tag -d v1.0.1
已刪除 tag 'v1.0.1'(曾爲 9573413)

//推送空tag至遠程進行刪除
[root@git-node1 git_demo]# git push origin :refs/tags/v1.0.1
To git@git-node1:root/git_demo.git
 - [deleted]         v1.0.1

1.7Git標籤小結

git版本號規則
內部版本 B1.1.0
外部版本 V1.1.0
補丁版本 P1.1.0

命令git tag –a <tagname> -m "message"      //在當前commit狀態新建一個tag
命令git tag -l <tagname>   //列出相對應版本號tag
命令git push origin <tagname>      //推送一個本地標籤
命令git push origin --tags //推送全部未推送過的本地標籤
命令git tag -d <tagname>   //刪除一個本地標籤
命令git push origin --delete tag <tagname>        //刪除一個遠程標籤
命令git push origin :refs/tags/<tagname>   //刪除一個遠程標籤

筆者Q:552408925、572891887
架構師羣:471443208
bjstack運維社區:524721466

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章