深入理解Git原理 附註標籤

2021-09-09 05:53:30 字數 985 閱讀 7953

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個資料點通過對映或者投影變換後,這兩個資料點在新的空間中的相鄰...