鍍金池/ 教程/ Java/ 給版本打標(biāo)簽
創(chuàng)建沖突
暫存更改
創(chuàng)建項(xiàng)目
Git 內(nèi)幕:.git 目錄
撤銷本地更改
移動(dòng)文件
移除 oops 標(biāo)簽
何為 Origin
再談結(jié)構(gòu)
撤銷暫存的更改
修正提交
別名
檢查狀態(tài)
給版本打標(biāo)簽
撤銷提交的更改
拉下共享的更改
變基
暫存與提交
合并
合并拉下的更改
更改而非文件
更改原始倉庫
重置 master 分支
回顧克隆的倉庫
變基 VS 合并
共享倉庫
導(dǎo)航分支
重置 greet 分支
添加跟蹤的分支
獲得舊版本
克隆倉庫
Git 內(nèi)幕:直接處理 Git 對(duì)象
再談設(shè)置
遠(yuǎn)程分支
從分支移除提交
合并回 master
查看分叉的分支
添加遠(yuǎn)程倉庫
拉下更改
歷史
在 master 中更改
裸倉庫
做更改
高級(jí)/將來的主題
推送更改
多個(gè)倉庫
設(shè)置
提交更改
取得更改
托管你的 Git 倉庫
創(chuàng)建分支
解決沖突

給版本打標(biāo)簽

目的

學(xué)習(xí)何使用名稱給提交打標(biāo)簽以便將來參考。

讓我們叫 hello 程序的當(dāng)前版本為 version 1 (v1)。

標(biāo)記 version 1

$ git tag v1

現(xiàn)在你可以引用程序的當(dāng)前版本為 v1。

標(biāo)記先前的版本

讓我們標(biāo)記當(dāng)前版本之前的版本為 v1-beta。首先我們需要檢出先前的版本。代替查詢哈希,我們將使用 ^ 來表示“v1 的父提交”。

如果使用 v1^ 表示法遇到問題,那么你也可以試試 v1~1,這將引用相同的版本。該表示法意為“v1 的第一個(gè)祖先提交”。

$ git checkout v1^
$ cat hello.rb
$ git checkout v1^
Note: checking out 'v1^'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

    git checkout -b new_branch_name

HEAD is now at 582495a... Added a default value
$ cat hello.rb
name = ARGV.first || "World"

puts "Hello, #{name}!"

看,這是我們添加注釋之前的默認(rèn)值版本。讓我們使它成為 v1-beta。

$ git tag v1-beta

按標(biāo)簽名檢出

現(xiàn)在試試在兩個(gè)標(biāo)記版本之間切換。

$ git checkout v1
$ git checkout v1-beta
$ git checkout v1
Previous HEAD position was 582495a... Added a default value
HEAD is now at 1f7ec5e... Added a comment
$ git checkout v1-beta
Previous HEAD position was 1f7ec5e... Added a comment
HEAD is now at 582495a... Added a default value

使用 tag 命令查看標(biāo)簽

你可以使用 git tag 命令來看看可用的標(biāo)簽有什么。

$ git tag
$ git tag
v1
v1-beta

查看日志中的標(biāo)簽

你也可以檢查日志中的標(biāo)簽。

$ git hist master --all
$ git hist master --all
* 1f7ec5e 2013-04-13 | Added a comment (v1, master) [Jim Weirich]
* 582495a 2013-04-13 | Added a default value (HEAD, v1-beta) [Jim Weirich]
* 323e28d 2013-04-13 | Using ARGV [Jim Weirich]
* 9416416 2013-04-13 | First Commit [Jim Weirich]

你可以在日志輸出中看到與分支名稱(master)一起列出了兩個(gè)標(biāo)簽(v1 和 v1-beta)。而且 HEAD 顯示你當(dāng)前檢出的提交(此刻是 v1-beta)。