Git——對象——tag

  標籤,給各類對象上添加標籤,方便查找。通常是給commit上添加標籤。

  標籤對象的增,刪,查(詳細信息),檢索。

  官網地址:https://git-scm.com/docs/git-tag

1、新增

  格式如下:

git tag [-a | -s | -u <keyId>] [-f] [-m <msg> | -F <file>] [-e] <tagname> [<commit> | <object>]

  元信息:

  -m:tag的日誌信息

  -F<file>:日誌信息從文件中讀取,不常用,略。

  tagName:標籤的名稱

  <commit> | object:tag表示的對象,通常爲commmit對象。用戶通常不會接觸到tree和blob對象

  註解 & 簽名:

  -a, annotate:給tag添加註解,即需要添加-m選項,默認值。

  -s, signature:給tag添加簽名。

  -u <keyid>:給tag添加GPG簽名。

  常規選項:

  -f, force,強制,若存在同名,則覆蓋

  -e:全稱爲edit,開啓編輯模式

  創建之後,可以在./git/refs/tag目錄下查看到tag對象,文件名稱爲tag名稱。

  示例:git tag -f -m “初始化提交” first_commit HEAD

2、查詢

  格式如下:

git tag -v [--format=format] <tagname>

  查詢所有tag,執行git tag [–-list(-l) | -n]。

  根據條件查詢tag, 執行git tag –-list(-l) | grep <some condition>

  查詢單個tag的詳細信息, 執行 git tag -v <tagname>,執行的結果:

object c3ba4209641fa2539a14fb3487a302a34f5c4270
type commit
tag first_commit
tagger WorldInNet <[email protected]> 1592489554 +0800

初始化提交

  Object表示tag關聯的對象ID, 第二行表示關聯的對象類型爲Commit,第三行顯示tag的名稱,第四行顯示創建tag的用戶名和郵箱,以及創建時間。最後一行顯示tag的日誌信息。

3、檢索

  格式爲: 

git tag [-n[<num>]] -l [--contains <commit>] [--no-contains <commit>][--points-at <object>] 
     [--column[=<options>] | --no-column] [--create-reflog] [--sort=<key>] [--format=<format>] [--[no-]merged [<commit>]] [<pattern>…]

  根據commitID查詢tag,執行git tag –-contains commitID,會顯示指向commitID的tag列表,--no-contains正好相反。

  根據CommitID查詢tag,執行git tag –-points-at commitID,顯示指向commitId的tag列表。

  根據提交歷史是否可達查詢tag,執行git tag –-merged commitID,會顯示執行當前commitID所有可達提交的tag列表,--no-merged正好相反。若只有一個分支,都是可達的,會列出所有的tag。

  根據tag的名稱查詢tag,執行git tag -l <pattern>,pattern可以是tag的名稱,也可以是正則表達式。例如*_tag,會查詢出所有以_tag後綴的tag列表。

  條件:

  --[no-]contains <commit>:是否包含commit對應的tag

  --points-at <object>:當前object對應的tag列表

  --[no-]merged :是否包含分支合併產生的commit對象對應的tag

  <pattern>:tag名稱的格式

  顯示格式:

  -n:最多顯示日誌信息的n行

  -column, --no-column:表格方式展示tag列表,需要column.tag配置項,若無,不會有效果。tag存在日誌信息時,也無效果。

  --sort=<key>,排序,key值參考tag.sort配置項。

4、刪除

  刪除tag的格式如下:

git tag -d <tagname>

  -d全稱爲delete,表示刪除的含義。較爲簡單。當tag名稱不存在時,報錯,提示信息爲”tag xx not found”

  示例:git tag -d first_commit。

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