git 使用兩種主要型別的標籤:輕量標籤與附註標籤。
通常我們使用的是輕量標籤,乙個輕量標籤很像乙個不會改變的分支,它只是乙個特定提交的引用,本質上是將提交校驗和儲存到乙個檔案中,沒有儲存任何其他資訊。 建立輕量標籤,只需要提供標籤名字:
$ git tag v1.4
$ git tag
v0.1
v1.0
v1.4
然而,附註標籤是儲存在 git 資料庫中的乙個完整物件。 它們是可以被校驗的;其中包含打標籤者的名字、電子郵件位址、日期時間;還有乙個標籤資訊;並且可以使用 gnu privacy guard (gpg)簽名與驗證。 通常建議建立附註標籤,這樣你可以擁有以上所有資訊。
在 git 中建立乙個附註標籤是很簡單的。 最簡單的方式是當你在執行tag
命令時指定-a
選項:
$ git tag -a v1.5 -m 'my version 1.5'
$ git tag
v0.1
v1.0
v1.4
v1.5
通過使用git show
命令可以看到標籤資訊與對應的提交資訊:
$ git show v1.5
tag v1.5
tagger: ben straub
date: sat may 3 20:19:12 2014 -0700
my version 1.5
commit ca82a6dff817ec66f44342007202690a93763949
author: scott chacon
date: mon mar 17 21:52:11 2008 -0700
changed the version number
輸出顯示了打標籤者的資訊、打標籤的日期時間、附註資訊,然後顯示具體的提交資訊。 深入理解Git原理 移除檔案
如果是在檔案還未納入 git 的管理時就不想跟蹤該檔案,可以在.gitignore檔案中加入該檔案的模式。如果檔案已經納入 git 的管理,此時要從 git 中移除某個檔案,就必須要從已跟蹤檔案清單中移除 確切地說,是從暫存區域移除 然後提交。可以用git rm命令完成此項工作,並連帶從工作目錄中刪...
深入理解Git原理 祖先引用
祖先引用是一種指明乙個提交的方式。如果你在引用的尾部加上乙個 git 會將其解析為該引用的上乙個提交。假設你的提交歷史是 git log pretty format h s graph 734713b fixed refs handling,added gc auto,updated tests d...
深入理解simhash原理
lsh locality sensitive hashing 是區域性敏感性hashing,它與傳統的hash是不同的。傳統hash的目的是希望得到o 1 的查詢效能,將原始資料對映到相應的桶內。lsh的基本思想是將空間中原始資料相鄰的2個資料點通過對映或者投影變換後,這兩個資料點在新的空間中的相鄰...