Git打標(biāo)簽從本地創(chuàng)建到遠(yuǎn)端推送的詳細(xì)流程
在軟件開發(fā)中,Git標(biāo)簽(Tag)是為發(fā)布版本、標(biāo)記里程碑量身定制的“快照錨點”,它能永久記錄項目歷史中的關(guān)鍵節(jié)點。然而,僅創(chuàng)建本地標(biāo)簽往往不夠,如何將其高效地推送到遠(yuǎn)程倉庫以實現(xiàn)團隊共享,是許多開發(fā)者會遇到的實際問題。
一、標(biāo)簽的兩種“形態(tài)”
| 類型 | 本質(zhì) | 適合場景 | 命令示例 |
|---|---|---|---|
| 輕量標(biāo)簽 | 僅是一個指向提交的引用 | 臨時/本地標(biāo)記 | git tag v1.0.0 |
| 附注標(biāo)簽 | 獨立對象,含作者/日期/GPG 簽名 | 正式發(fā)版、開源發(fā)布 | git tag -a v1.0.0 -m "Release v1.0.0" |
90% 的場景請用 附注標(biāo)簽,因為它攜帶的元數(shù)據(jù)對版本追溯至關(guān)重要。
二、本地創(chuàng)建與查看
1. 打附注標(biāo)簽(推薦)
# 給當(dāng)前 HEAD 打標(biāo)簽 git tag -a v1.0.0 -m "Release version 1.0.0" # 給指定提交打標(biāo)簽 git tag -a v1.0.0 9fbc3d2 -m "Release v1.0.0"
2. 查看標(biāo)簽
git tag # 簡潔列表 git show v1.0.0 # 查看標(biāo)簽詳情及對應(yīng)提交
輸出示例:
tag v1.0.0 Tagger: YourName <you@example.com> Date: Sun Sep 14 00:00:00 2025 +0800 Release version 1.0.0
三、推送標(biāo)簽到遠(yuǎn)端
默認(rèn) git push 不會 傳標(biāo)簽!必須顯式操作。
| 場景 | 命令 |
|---|---|
| 推送單個標(biāo)簽 | git push origin v1.0.0 |
| 一次性推送所有標(biāo)簽 | git push origin --tags |
| 推送時包含新分支及標(biāo)簽 | git push origin --follow-tags |
示例:
# 推送 v1.0.0 git push origin v1.0.0 # CI 自動發(fā)版常用:只推送本次打的標(biāo)簽 git push origin --follow-tags
四、刪除標(biāo)簽(本地 & 遠(yuǎn)端)
| 位置 | 命令 |
|---|---|
| 本地 | git tag -d v1.0.0 |
| 遠(yuǎn)端 | git push origin --delete v1.0.0 或 git push origin :refs/tags/v1.0.0 |
一條龍刪除:
git tag -d v1.0.0 git push origin --delete v1.0.0
五、高頻問題速查
1、推送時報 “error: src refspec v1.0.0 matches more than one”
本地有同名分支,先刪除分支或顯式指定 refs/tags/v1.0.0。
2、CI 沒觸發(fā) Release 流程
確認(rèn)是否推了 附注標(biāo)簽 且 CI 監(jiān)聽的是 tag 事件。
3、如何補打舊版本標(biāo)簽?
git log --oneline # 找到歷史提交 git tag -a v0.9.0 5f3d2e1 -m "Retroactively tag v0.9.0" git push origin v0.9.0
六、一張圖總結(jié)(保存即可)
本地創(chuàng)建 → 查看 → 推送 →(可選)刪除
│ │ │ │
▼ ▼ ▼ ▼
git tag -a git tag git push git tag -d
v1.0.0 v1.0.0 origin v1.0.0
v1.0.0 git push
--delete
到此這篇關(guān)于Git打標(biāo)簽從本地創(chuàng)建到遠(yuǎn)端推送的詳細(xì)流程的文章就介紹到這了,更多相關(guān)Git打標(biāo)簽流程內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在VSCode中如何配置Python開發(fā)環(huán)境
VScode是一個相當(dāng)優(yōu)秀的IDE,具備開源、跨平臺、模塊化、插件豐富、啟動時間快、顏值高、可高度定制等等優(yōu)秀的特質(zhì),所以用VScode來編寫Python,也是相當(dāng)?shù)暮糜玫?。所以,今天我們就來講講,怎么在VScode上配置Python開發(fā)環(huán)境。2020-01-01
git add -A 和 git add . 的區(qū)別詳解
這篇文章主要介紹了git add -A 和 git add . 的區(qū)別詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
IIS 301重定向與程序代碼實現(xiàn)301重定向的差別
過IIS做301重定向確可以實現(xiàn)傳遞網(wǎng)站的權(quán)重,還不會導(dǎo)致流量丟失。2010-11-11
快速設(shè)置IDEA代碼風(fēng)格為Google風(fēng)格
這篇文章主要介紹了快速設(shè)置IDEA代碼風(fēng)格為Google風(fēng)格,使用Google風(fēng)格format的圖文教程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2020-11-11
hexo博客開啟https的SSL?證書實現(xiàn)過程
這篇文章主要為大家介紹了hexo?博客開啟https的SSL證書實現(xiàn)過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10
textarea 在IE和FF下?lián)Q行無法正常顯示的解決方法
今天在做項目時用到textarea 用戶輸入信息后顯示不換行在IE下測試成功在FF沒反應(yīng)2010-07-07

