《Git tags Explained》翻譯

原文連接html

Git tags 簡明教程

Git對於開發者來講是個很是必要的工具,它能很是方便的維護多人共享的代碼庫git

Git-scm簡單的定義:github

Git是一個開源的分佈式版本控制系統,設計用來快速有效的管理各類小項目和大項目正則表達式

若是你還不知道Git,我推薦你首先學習一些基礎知識bash

在這篇文章中,咱們將學習到什麼是git tag,爲何要使用它和何時以及怎麼使用它。這因該足夠讓你在你的項目使用它了分佈式

讓咱們開始吧ide

什麼是git tag

git tag其實是指向了Git history 中的一個commit,它能夠標記git history中某個的commit,之後能夠方便的找到它工具

你能夠將 tag 看作是一個不變的分支學習

Tag 表明某個特定分支在必定時刻的版本。因此,tag 本質上是開發者在程序中作的一個標記fetch

爲何和何時使用git tag

你確定看到過v1.0.0這樣的標記。它表示一個產品的版本號。一般,當產品有重大的更新而且須要推送給用戶時,就會建立一個tag。

tag 一般用戶標記一個里程碑,例如能夠發佈給用戶或者企業的新功能或一些bug修復

你確定不但願每次修復Bug都要推送給客戶,Tag 能夠確保用戶使用的是某個特定時刻的版本,而不須要每次代碼的新提交都推送給客戶。

怎麼使用git tag

如今你已經知道了tag的應用場景,下面就開始看看怎麼使用它

建立tag

git tag <tag_name>
// Eg. git tag v1.0.1
複製代碼

這條命令會將最新的commit打上tag,tag_name就是你要起得tag 名字,一般是相似v1.0.1這種。固然你也能夠命名任何你喜歡的名字

一般 tag name 是:

v<major>.<minor>.<patch>
複製代碼
  • major:重大修改
  • minor: 版本與先前版本兼容
  • patch: bug 修復

建立了tag以後,能夠push到遠端代碼庫

git push --tags
複製代碼

也能夠爲tag添加描述信息

git tag -a <tag_name> -m "message"
複製代碼

-a是什麼意思呢?下面來看看

tag類型

一共有兩種tag類型:

  • 附註標籤(Annonated)
  • 輕量標籤(Lightweight)
附註標籤

附註標籤存儲一個額外的信息,好比做者、發行說明、tag 信息存儲爲Git倉庫中完整的數據,這些數據對於一個公開的項目是很是重要的

-a表示該tag是附註標籤

git tag -a v1.0.1 -m "First release"
複製代碼
輕量標籤

輕量標籤時最簡單的打tag的方式,它只存儲tag name和關聯的commit的hash值,不包含額外的信息,就相似於一個書籤

git tag v2.1-lw
複製代碼

lw表示輕量級標籤,在tag name中加lw是爲了更好的可讀性

爲一個特殊的commit打tag

git tag <tag_name> <commit_sha>
複製代碼

上面的命令可讓你爲一些老的commit打tag

查看全部tag

git tag
複製代碼

這條命令將會展現全部存在的tag

輸出多是這樣:

1.0.0
1.0.1
1.0.2
1.0.3
2.0.0
2.1.0
複製代碼

你可使用-l或者--list選項利用正則表達式進行過濾

git tag -l "1.0*"
複製代碼

結果:

1.0.0
1.0.1
1.0.2
複製代碼

查看tag信息

git show <tag_name>
// Eg. git show v1.0.1
複製代碼

將會展現做者、tag 信息、commit信息等其餘信息

刪除tag

git tag -d <tag_name>
複製代碼

推送tag

git push origin <branch> --tags
複製代碼

將會把本地tag推送到遠程倉庫

拉取tag

git fetch --tags
複製代碼

將會把遠程倉庫tag拉取到本地

切換tag

git checkout <tag_name>
// Eg. git checkout v1.0.1
複製代碼

你能夠用這條命名,將代碼回退到打某個tag的時候

你如今已經掌握了Git tag,開始在你的項目中應用起來吧😁

更多學習資源:

個人博客地址: https://qiuqideblog.com

相關文章
相關標籤/搜索