git push 的符号笔有什么用_Git 标签(tag)作用、分支区别及常用命令
Git 跟其它版本控制系統(tǒng)一樣,可以對(duì)某一時(shí)間點(diǎn)上的版本打上標(biāo)簽。在做版本發(fā)布的時(shí)候經(jīng)常會(huì)用到。盡管 Git 只實(shí)現(xiàn)了一種標(biāo)簽對(duì)象,但是有兩種基本的標(biāo)簽類型,通常稱為輕量級(jí)的(lightweight)和帶附注的(annotated)。Git 標(biāo)簽的作用通俗來說,tag 指向一次 commit 的 id,給開發(fā)分支做一個(gè)標(biāo)記,如標(biāo)記一個(gè)版本號(hào)等。標(biāo)簽相關(guān)命令以?git tag 開頭。
標(biāo)簽類型
輕量級(jí)標(biāo)簽:就像是個(gè)不會(huì)變化的分支,實(shí)際上它就是個(gè)指向特定提交對(duì)象的引用。通常被版本庫視為是私有的。這些標(biāo)簽并不在版本庫里創(chuàng)建永久對(duì)象。
含附注標(biāo)簽:實(shí)際上是存儲(chǔ)在倉庫中的一個(gè)獨(dú)立對(duì)象,它有自身的校驗(yàn)和信息,包含著標(biāo)簽的名字,電子郵件地址和日期,以及標(biāo)簽說明,標(biāo)簽本身可以根據(jù) RFC 4880 來使用 GNU Privacy Guard(GPG)密鑰進(jìn)行數(shù)字簽名。
總結(jié)的說就是輕量級(jí)標(biāo)簽是一個(gè)引用,附注標(biāo)簽是一個(gè)獨(dú)立的對(duì)象。一般建議使用附注標(biāo)簽,以保留相關(guān)詳細(xì)信息。
標(biāo)簽與分支的區(qū)別
標(biāo)簽是當(dāng)前分支上的一個(gè)標(biāo)記,其實(shí)道理和 commit 的 commit-sha1 有些相似,其實(shí)就是給當(dāng)前的版本做個(gè)標(biāo)記,以便回退到此版本。如果使用 commit-sha1,大家都記不住那條冗長的 sha1 碼,所以用 tag 標(biāo)簽來做記錄;而分支(branch)是一條可變的另一個(gè)“跑道”。
概括來講就是兩點(diǎn)顯著的區(qū)別:
tag 就像是一個(gè)里程碑一個(gè)標(biāo)志一個(gè)點(diǎn),branch 是一個(gè)新的征程一條線;
tag 是靜態(tài)的,不可改變,branch 是變化的,要向前走;
標(biāo)簽常用命令
標(biāo)簽提交
在當(dāng)前分支的當(dāng)前提交節(jié)點(diǎn),新建輕量級(jí)標(biāo)簽(無需指定任何額外參數(shù)) :
$ git tag v1.0.0_lw
新建附注標(biāo)簽,`-a` 參數(shù)后接標(biāo)簽名稱,`-m` 參數(shù)添加標(biāo)簽說明:
$ git tag -a v1.6 -m "version 1.6"
對(duì)過去指定的提交(commit id)上打標(biāo)簽,指定對(duì)應(yīng) commit id(示例中的 9fceb02) 即可,若不指定 commit id,即默認(rèn)在當(dāng)前 HEAD 上打標(biāo)簽:
$ git tag -a v1.6 9fceb02 -m "version 1.6"
提交一個(gè)標(biāo)簽到遠(yuǎn)程倉庫的命令:
$ git push origin v1.6
一次提交本地的所有標(biāo)簽到遠(yuǎn)程倉庫的命令:
$ git push origin --tags
標(biāo)簽查看
查看本地指定標(biāo)簽對(duì)應(yīng)的信息:
$ git show v1.6
查看本地所有的標(biāo)簽列表:
$ git tag
列出遠(yuǎn)程倉庫中所有的標(biāo)簽:
$ git ls-remote --tags
獲取遠(yuǎn)程標(biāo)簽到本地:
$ git fetch origin tag
標(biāo)簽刪除
刪除本地的標(biāo)簽:
$ git tag -d v0.9
刪除遠(yuǎn)程標(biāo)簽主要有三種方式:
使用參數(shù) `--delete`:
$ git push origin --delete tag
相當(dāng)于推送一個(gè)空分支到遠(yuǎn)程分支:
$ git push origin :
先刪除本地 tag,再推送一個(gè)空的 tag 到遠(yuǎn)程倉庫:
$ git tag -d
$ git push origin :refs/tags/
總結(jié)
以上是生活随笔為你收集整理的git push 的符号笔有什么用_Git 标签(tag)作用、分支区别及常用命令的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 王者荣耀是怎样炼成的(二)《王者荣耀》u
- 下一篇: 魅族 20 系列官宣:搭载骁龙 8 Ge