Git tag標籤的使用Git中tag標籤的使用

2021-10-12 07:29:21 字數 1406 閱讀 1123

tag是git版本庫的乙個標記,指向某個commit的指標。

tag主要用於發布版本的管理,乙個版本發布之後,我們可以為git打上 v.1.0.1 v.1.0.2 ...這樣的標籤。

tag感覺跟branch有點相似,但是本質上和分工上是不同的:

tag 對應某次commit, 是乙個點,是不可移動的。

branch 對應一系列commit,是很多點連成的一根線,有乙個head 指標,是可以依靠 head 指標移動的。

所以,兩者的區別決定了使用方式,改動**用 branch ,不改動只檢視用 tag。

tag 和 branch 的相互配合使用,有時候起到非常方便的效果,例如:已經發布了 v1.0 v2.0 v3.0 三個版本,這個時候,我突然想不改現有**的前提下,在 v2.0 的基礎上加個新功能,作為 v4.0 發布。就可以檢出 v2.0 的**作為乙個 branch ,然後作為開發分支。

建立 tag 是基於本地分支的 commit,而且與分支的推送是兩回事,就是說分支已經推送到遠端了,但是你的 tag 並沒有,如果把 tag 推送到遠端分支上,需要另外執行 tag 的推送命令。

git tag //建立本地tag

git push origin //推送到遠端倉庫

若存在很多未推送的本地標籤,你想一次全部推送的話:

git push origin --tags

以上是基於本地當前分支的最後的乙個commit 建立的 tag ,但是如果不想以最後乙個,只想以某乙個特定的提交為tag ,也是可以的,只要你知道commit 的id。

git log --pretty=oneline //檢視當前分支的提交歷史 裡面包含 commit id

git tag -a

檢視本地某個 tag 的詳細資訊:

git show

檢視本地所有 tag:

git tag 或者 git tag -l

檢視遠端所有 tag:

git ls-remote --tags origin

本地 tag 的刪除:

git tag -d

遠端 tag 的刪除:

git push origin :

git checkout -b

因為 tag 本身指向的就是乙個 commit,所以和根據commit id 檢出分支是乙個道理。

但是需要特別說明的是,如果我們想要修改 tag檢出**分支,那麼雖然分支中的**改變了,但是 tag標記的 commit還是同乙個,標記的**是不會變的,這個要格外的注意。

其它命令git tag -a -m "***..."可以指定標籤資訊。

命令git tag -a v0.1.0 -m "release 0.1.0 version" 建立附註標籤。

命令git checkout [tagname] 切換標籤。

GIt子模組 Git tag標籤 工作筆記

git submodule init 初始化你的本地配置檔案 git submodule update 更新子模組其他有關子模組的新增或者操作,以後再總結。當修改了子模組的內容時,需要提交到git上。跟主專案一樣的操作 步驟 先進入到子模組的專案檔案下,依次進行操作,git status,git a...

Git tag打標籤的基本用法

給歷史版本打標籤 語法 git tag a 標籤名 標籤id git tag a v1.0 431af9150b8d58b1e3c檢視標籤列表 git tag 給當前版本打標籤 語法 git tag a 標籤名 m 說明 git tag a v2.0 m 2.0穩定版 標籤重新命名 語法 git t...

Git中tag標籤的使用

tag是git版本庫的乙個標記,指向某個commit的指標。tag主要用於發布版本的管理,乙個版本發布之後,我們可以為git打上 v.1.0.1 v.1.0.2 這樣的標籤。tag感覺跟branch有點相似,但是本質上和分工上是不同的 tag 對應某次commit,是乙個點,是不可移動的。branc...