章節 13 建立版本標籤
學習目標
- 了解如何給送交設定標簽(tag)以方便之後參考該版本代表的意義。
讓我們把目前 hello 程式定義為版本 1(v1)。
設定標籤版本 1 (v1) 01
執行:
git tag v1
現在您可以用v1這個名稱來代替這個版本的 hash 編碼。
為之前的版本設定標籤02
讓我們來給上一個版本標上 v1-beta 的標簽。首先我們需要簽出上一版。除了可以使用 git log 找出 hash 編碼外,我還可以使用 ^ 來表示 v1 的父版本(上一版)。
如果 v1
^ 無法正常運作,您可以改試試看 v1~1
這一樣是指上一個版本,不過可能是因為作業系統的因素導致您無法使用 v1
^ 。
執行:
git checkout v1^ cat hello.rb
Output:
$ 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 1b754e9... Added a default value $ cat hello.rb name = ARGV.first || "World" puts "Hello, #{name}!"
看吧,這個版本的內容是有預設值設定的版本就是我們加入註解 之前 的版本。現在幫這個版本設定 v1-beta 的標籤。
執行:
git tag v1-beta
確認標簽名稱 03
現在試著在這兩個版本之間切換
執行:
git checkout v1 git checkout v1-beta
輸出:
$ git checkout v1 Previous HEAD position was 1b754e9... Added a default value HEAD is now at 4054321... Added a comment $ git checkout v1-beta Previous HEAD position was 4054321... Added a comment HEAD is now at 1b754e9... Added a default value
檢視所有 tag
指令 04
您可以使用 git tag 指令去檢視目前檔案庫中的標籤
執行:
git tag
輸出:
$ git tag v1 v1-beta
在歷史紀錄(Logs) 中檢視標籤 05
現在您可以檢視歷史紀錄(Logs)並觀察出每個版本的標簽資訊。
執行:
git hist master --all
輸出:
$ git hist master --all * 4054321 2012-03-06 | Added a comment (v1, master) [Jim Weirich] * 1b754e9 2012-03-06 | Added a default value (HEAD, v1-beta) [Jim Weirich] * 3053491 2012-03-06 | Using ARGV [Jim Weirich] * 3cbf83b 2012-03-06 | First Commit [Jim Weirich]
您可以在輸出中看到標簽的名稱(v1
和 v1-beta
),還有分支名稱(master
)。另外 HEAD
表示目前簽出的版本。(現在您應該看到的是 v1-beta
這個版本)。