Git筆記之標籤

2021-08-26 23:26:42 字數 2042 閱讀 2301

發布乙個版本時,我們通常先在版本庫中打乙個標籤,這樣建立了乙個索引快捷的指向某一次提交。將來無論什麼時候,取某個標籤的版本,就是把那個打標籤的時刻的歷史版本取出來。其實它就是指向某個commit的指標,跟分支很像,但是分支可以移動,標籤不能移動。

git tag #檢視所有標籤

git tag

#加標籤

git log --pretty=oneline --abbrev-commit #找到歷史提交的commit id

git tag

#對某個commit打標籤

git tag -a v0.1 -m "version 0.1 released" 3628164

#還可以建立帶有說明的標籤,用-a指定標籤名,-m指定說明文字

git tag -d

#刪除某個標籤

git push origin

#將某個標籤推送到遠端

git push origin --tags #一次性推送全部的標籤到遠端

git push origin :refs/tags/

#刪除遠端倉庫的標籤

git fetch origin tag

#拉取遠端倉庫的指定標籤的**

git branch

#根據標籤名建立分支

在push**到遠端倉庫時,不會推送標籤,所以需要我們主動推送標籤git push origin

git tag -a v1.0.0 -m "version 1.0.0 released"

git push origin v1.0.0

git tag -d v1.0.0   #刪除本地

git push origin :refs/tags/v1.0.0 #刪除遠端倉庫標籤

該章節**於梧桐那時雨,詳細步驟可到原blog檢視。

如果線上版本遇到bug,需要緊急修復並發布,可是這個時候我們的**新功能已經開發了到一半了,不能回退,怎麼辦呢?這時候就可以通過tag標籤回退至線上版本進行修復。

根據我的實踐,調整了梧桐那時雨的操作步驟,主要是簡化新建分支的方式和推送標籤到遠端倉庫的時機

主要步驟如下:

根據tag拉取修復bug的分支fixbug

切換到fixbug分支,修改bug,發版本,打新標籤

手動推送標籤到遠端

合併fixbug分支到主幹上

#1

git tag #檢視所有標籤

git branch fixbug

# 根據tag新建分支

#2git checkout fixbug #切換至修復分支

... #修復bug...

git add a.txt

git commit -m "修復bug"

# 提交

git tag v2.0 #打標籤

#3git push origin --tags #推送所有標籤

git push origin v2.0 #推送指定標籤

#4git checkout master #先切換到主幹上

git merge fixbug #再合併修改bug的分支

... #合併分支

在分支上建立的tag,分支刪除後還存在嗎

經過測試,tag並不屬於某乙個分支,所以在刪除分支時,在該分支上打的標籤依然存在,指向的是當前分支的上一次commit。

標籤更多的是一種指向某一次提交的快捷索引,所以雖然刪除了fixbug分支,但是還是可以通過git show ; git reset --hard commitid回滾到某一次提交,對歷史版本進行再次修復。

當我們commit,並打上標籤後,不向遠端倉庫推送**,而是推送標籤。那麼在遠端倉庫的各分支中**不會發生任何的改變,但是在該標籤下卻能看到本地的上一次commit.

學習筆記 git之四 標籤管理

標籤是版本庫的乙個快照,方便以後查詢,其實標籤類似於提交commit,只不過更方便。1 執行語句 git tag v1.0預設打的標籤是打在最新提交的commit id 上,如果要打之前已經commit 上怎麼操作。2 第一檢視log找到對應的commit id git log pretty one...

Git學習筆記 標籤

git可以給某次提交打上標籤以示重要性,使用git tag列出所有標籤。git tag v1.0使用 l選項查詢標籤。git tag l v1 v1.0標籤分為輕量標籤和附註標籤,通常建議建立附註標籤,附註標籤包含打標籤者的名字 電子郵件位址 日期時間,標籤資訊,並且可以使用 gnu privacy...

Git學習筆記 標籤

標籤就是推送版本的別名,畢竟要用版本號太難記了,打上v1.0 v2.0這樣的標籤是不是賞心悅目多了呢。mark the current commit with a tag git tag 打標籤,預設標籤打在當前分支最新提交上。git tag 檢視所有標籤 git tag 將標籤打在特定提交上 gi...