git tag和branch的區別

tag 和branch的區別

  • Git tag是一系列commit的中的一個點,只能查看,不能移動。
  • branch是一系列串聯的commit的線。

git tag的用法

  • 我們常常在代碼封板時,使用git 創建一個tag ,這樣一個不可修改的歷史代碼版本就像被我們封存起來一樣,不論是運維發佈拉取,或者以後的代碼版本管理,都是十分方便的

git的tag功能

  • git 下打標籤其實有2種情況
    輕量級的:它其實是一個獨立的分支,或者說是一個不可變的分支.指向特定提交對象的引用
  • 帶附註的:實際上是存儲在倉庫中的一個獨立對象,它有自身的校驗和信息,包含着標籤的名字,標籤說明,標籤本身也允許使用 GNU Privacy Guard (GPG) 來簽署或驗證,電子郵件地址和日期,一般我們都建議使用含附註型的標籤,以便保留相關信息
    所以我們推薦使用第二種標籤形式

創建tag

  • git tag -a V1.2 -m ‘release 1.2’
  • 上面的命令我們成功創建了本地一個版本 V1.2 ,並且添加了附註信息 ‘release 1.2’

查看tag

  • git tag

  • 要顯示附註信息,我們需要用 show 指令來查看

  • git show V1.2

  • 但是目前這個標籤僅僅是提交到了本地git倉庫.如何同步到遠程代碼庫

  • git push origin --tags

  • 如果剛剛同步上去,你缺發現一個致命bug ,需要重新打版本,現在還爲時不晚.

  • git tag -d V1.2

  • 到這一步我們只是刪除了本地 V1.2的版本,可是線上V1.2的版本還是存在,如何辦?這時我們可以推送的空的同名版本到線下,達到刪除線上版本的目標:

  • git push origin :refs/tags/V1.2

  • 如何獲取遠程版本?

  • git fetch origin tag V1.2

  • 這樣我們可以精準拉取指定的某一個版本.適用於運維同學部署指定版本.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章