## 輕量級標簽
我們可以用?[git tag](http://www.kernel.org/pub/software/scm/git/docs/git-tag.html)不帶任何參數創建一個標簽(tag)指定某個提交(commit):
~~~
$ git tag stable-1 1b2e1d63ff
~~~
這樣,我們可以用stable-1 作為提交(commit) "1b2e1d63ff" 的代稱(refer)。
前面這樣創建的是一個“輕量級標簽",這種分支通常是從來不移動的。
如果你想為一個標簽(tag)添加注釋,或是為它添加一個簽名(sign it cryptographically), 那么我們就需要創建一個 ”標簽對象".
## 標簽對象
如果有 "-a", "-s" 或是 "-u?" 中間的一個命令參數被指定,那么就會創建 一個標簽對象,并且需要一個標簽消息(tag message). 如果沒有"-m?" 或是 "-F?" 這些參數,那么就會啟動一個編輯器來讓用戶輸入標簽消息(tag message).
譯者注:大家覺得這個標簽消息是不是提交注釋(commit comment)比較像。
當這樣的一條命令執行后,一個新的對象被添加到Git對象庫中,并且標簽引用就指向了 一個標簽對象,而不是指向一個提交(commit). 這樣做的好處就是:你可以為一個標簽 打處簽名(sign), 方便你以后來查驗這是不是一個正確的提交(commit).
下面是一個創建標簽對象的例子:
~~~
$ git tag -a stable-1 1b2e1d63ff
~~~
標簽對象可以指向任何對象,但是在通常情況下是一個提交(commit). (在Linux內核代 碼中,第一個標簽對象是指向一個樹對象(tree),而不是指向一個提交(commit)).
## 簽名的標簽
如果你配有GPG key,那么你就很容易創建簽名的標簽.首先你要在你的?_.git/config 或?_~.gitconfig里配好key.
下面是示例:
~~~
[user]
signingkey = <gpg-key-id>
~~~
你也可以用命令行來配置:
~~~
$ git config (--global) user.signingkey <gpg-key-id>
~~~
現在你可以直接用"-s" 參數來創“簽名的標簽”。
~~~
$ git tag -s stable-1 1b2e1d63ff
~~~
如果沒有在配置文件中配GPG key,你可以用"-u“ 參數直接指定。
~~~
$ git tag -u <gpg-key-id> stable-1 1b2e1d63ff
~~~
- 1. 介紹
- 歡迎使用Git
- GIT對象模型
- Git目錄 與 工作目錄
- Git索引
- 2. 第一步
- 安裝Git
- 安裝與初始化
- 3. 基本用法
- 獲得一個Git倉庫
- 正常的工作流程
- 分支與合并@基礎
- 查看歷史 -Git日志
- 比較提交 - Git Diff
- 分布式的工作流程
- Git標簽
- 4. 中級技能
- 忽略某些文件
- rebase
- 交互式rebase
- 交互式添加
- 儲藏
- Git樹名
- 追蹤分支
- 使用Git Grep進行搜索
- Git的撤消操作 - 重置, 簽出 和 撤消
- 維護Git
- 建立一個公共倉庫
- 建立一個私有倉庫
- 5. 高級技能
- 創建新的空分支
- 修改你的歷史
- 高級分支與合并
- 查找問題的利器 - Git Bisect
- 查找問題的利器 - Git Blame
- Git和Email
- 定制Git
- Git Hooks
- 找回丟失的對象
- 子模塊
- 6. Git生態體系
- Git 與之 Windows
- 使用Git進行系統部署
- 與 Subversion 集成
- 從其他代碼管理工具遷移到Git
- 圖形化的Git
- Git倉庫托管
- Git的其它用法
- Git的腳本支持
- Git 與編輯器
- 7. 原理解析
- Git是如何存儲對象的
- 查看Git對象
- Git引用
- Git索引
- 打包文件
- 更底層的Git
- 傳輸協議
- 術語表