標簽(Tag)可以針對某一時間點的版本做標記,常用於版本發布。
列出tag
$ git tag # 在控制台打印出當前倉庫的所有tag
$ git tag -l ‘v0.1.*’ # 搜索符合模式的Tag
打tag
git tag分為兩種類型:輕量tag和附注tag。輕量tag是指向提交對象的引用,附注Tag則是倉庫中的一個獨立對象。建議使用附注Tag。
創建輕量Tag
$ git tag v0.1.2-light
創建附注Tag
$ git tag -a v0.1.2 -m “0.1.2版本”
創建輕量Tag不需要傳遞參數,直接指定Tag名稱即可。
創建附注Tag時,參數a即annotated的縮寫,指定Tag類型,后附Tag名。參數m指定Tag說明,說明信息會保存在Tag對象中。
切換到Tag
與切換分支命令相同,用git checkout [tagname]
查看Tag信息
用git show命令可以查看Tag的版本信息:
$ git show v0.1.2
刪除Tag
誤打或需要修改Tag時,需要先將Tag刪除,再打新Tag。
$ git tag -d v0.1.2 # 刪除Tag
參數d即delete的縮寫,意為刪除其后指定的Tag。
給指定的commit打Tag
打Tag不必要在head之上,也可在之前的版本上打,這需要你知道某個提交對象的校驗和(通過git log獲取)。
補打Tag
$ git tag -a v0.1.1 9fbc3d0
Tag推送到服務器
通常的git push不會將Tag對象提交到git服務器,我們需要進行顯式的操作:
$ git push origin v0.1.2 # 將v0.1.2 Tag提交到git服務器 $ git push origin –-tags # 將本地所有Tag一次性提交到git服務器
注意:如果想看之前某個Tag狀態下的文件,可以這樣操作
1.git tag 查看當前分支下的Tag
2.git checkout v0.21 此時會指向打v0.21 Tag時的代碼狀態,(但現在處於一個空的分支上)
- cat test.txt 查看某個文件