來自我的個人博客Minecode.link
簡述
作為版本管理工具,Git可以對某個版本打上標簽(tag),表示本版本為發行版。在發布軟件,以及使用CocoaPods創建依賴庫等情況時,需要對其版本使用標簽注釋。故簡單總結一下添加tag的方式。
使用Git命令
查看標簽
打印所有標簽
git tag`
打印符合檢索條件的標簽
git tag -l <版本號>
如 git tag -l 1.*.*
為搜索一級版本為1的版本
查看對應標簽狀態
git checkout <版本號>
創建本地標簽
創建輕量標簽
輕量標簽指向一個發行版的分支,其只是一個像某commit的引用,不存儲名稱時間戳及標簽說明等信息。定義方法如下
git tag <版本號>-light
創建帶附注標簽
相對于輕量標簽,附注標簽是一個獨立的標簽對象,包含了名稱時間戳以及標簽備注等信息,同時指向對應的commit。定義方法如下
git tag -a <版本號> -m "<備注信息>"
同時我們也可以像特定的commit添加標簽,使用該commit對應的SHA值即可
git tag -a <版本號> <SHA值> -m "<備注信息>"
比如 git tag -a 1.0.0 0c3b62d -m "Release Edition v1.0.0"
就是為SHA為0c3b62d的這次提交打了1.0發行版的tag
刪除本地標簽
git tag -d <版本號>
將本地標簽提交到遠程倉庫
前面所提到的創建標簽,只是將標簽添加到了本地的版本管理,我們需要在創建之后將本地標簽同步到遠程倉庫,如Github。
推送所有標簽
git push origin --tags
推送指定版本的標簽
git push origin <版本號>
刪除遠程倉庫的標簽
同創建本地標簽一樣,刪除了本地標簽之后也要同時刪除遠程倉庫的標簽。
新版本Git (> v1.7.0)
git push origin --delete <版本號>
新舊版本通用方法
舊版本Git并沒有提供直接刪除的方法,而我們可以通過將一個空標簽替換現有標簽來實現刪除標簽,即如下命令
git push origin :refs/tags/<版本號>
補充:使用Github添加標簽
Github為我們提供了在頁面上進行編輯發行版本的方式,如下圖所示:
在Github上為項目打tag可在release頁面,選擇創建新tag并按下圖所示填寫即可。刪除tag也同理。母。
Tag on Github
總結
最后總結一下常用命令,方便查閱。
/// 查看標簽
// 打印所有標簽
git tag
// 打印符合檢索條件的標簽
git tag -l 1.*.*
// 查看對應標簽狀態
git checkout 1.0.0
/// 創建標簽(本地)
// 創建輕量標簽
git tag 1.0.0-light
// 創建帶備注標簽(推薦)
git tag -a 1.0.0 -m "這是備注信息"
// 針對特定commit版本SHA創建標簽
git tag -a 1.0.0 0c3b62d -m "這是備注信息"
/// 刪除標簽(本地)
git tag -d 1.0.0
/// 將本地標簽發布到遠程倉庫
// 發送所有
git push origin --tags
// 指定版本發送
git push origin 1.0.0
/// 刪除遠程倉庫對應標簽
// Git版本 > V1.7.0
git push origin --delete 1.0.0
// 舊版本Git
git push origin :refs/tags/1.0.0