<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 打標簽 像其他版本控制系統(VCS)一樣,Git 可以給歷史中的某一個提交打上標簽,以示重要。比較有代表性的是人們會使用這個功能來標記發布結點(v1.0 等等)。在本節中,你將會學習如何列出已有的標簽、如何創建新標簽、以及不同類型的標簽分別是什么。 ## 列出標簽 在 Git 中列出已有的標簽是非常簡單直觀的。只需要輸入 `git tag`: ~~~ $ git tag v0.1 v1.3 ~~~ 這個命令以字母順序列出標簽;但是它們出現的順序并不重要。 你也可以使用特定的模式查找標簽。例如,Git 自身的源代碼倉庫包含標簽的數量超過 500 個。如果只對 1.8.5 系列感興趣,可以運行: ~~~ $ git tag -l 'v1.8.5*' v1.8.5 v1.8.5-rc0 v1.8.5-rc1 v1.8.5-rc2 v1.8.5-rc3 v1.8.5.1 v1.8.5.2 v1.8.5.3 v1.8.5.4 v1.8.5.5 ~~~ ## 創建標簽 Git 使用兩種主要類型的標簽:輕量標簽(lightweight)與附注標簽(annotated)。 一個輕量標簽很像一個不會改變的分支 - 它只是一個特定提交的引用。 然而,附注標簽是存儲在 Git 數據庫中的一個完整對象。它們是可以被校驗的;其中包含打標簽者的名字、電子郵件地址、日期時間;還有一個標簽信息;并且可以使用 GNU Privacy Guard (GPG)簽名與驗證。通常建議創建附注標簽,這樣你可以擁有以上所有信息;但是如果你只是想用一個臨時的標簽,或者因為某些原因不想要保存那些信息,輕量標簽也是可用的。 ## 附注標簽 在 Git 中創建一個附注標簽是很簡單的。最簡單的方式是當你在運行 `tag` 命令時指定 `-a` 選項: ~~~ $ git tag -a v1.4 -m 'my version 1.4' $ git tag v0.1 v1.3 v1.4 ~~~ `-m` 選項指定了一條將會存儲在標簽中的信息。如果沒有為附注標簽指定一條信息,Git 會運行編輯器要求你輸入信息。 通過使用 `git show` 命令可以看到標簽信息與對應的提交信息: ~~~ $ git show v1.4 tag v1.4 Tagger: Ben Straub <ben@straub.cc> Date: Sat May 3 20:19:12 2014 -0700 my version 1.4 commit ca82a6dff817ec66f44342007202690a93763949 Author: Scott Chacon <schacon@gee-mail.com> Date: Mon Mar 17 21:52:11 2008 -0700 changed the version number ~~~ 輸出顯示了打標簽者的信息、打標簽的日期時間、附注信息,然后顯示具體的提交信息。 ## 輕量標簽 另一種給提交打標簽的方式是使用輕量標簽。輕量標簽本質上是將提交校驗和存儲到一個文件中 - 沒有保存任何其他信息。創建輕量標簽,不需要使用 `-a`、`-s` 或 `-m` 選項,只需要提供標簽名字: ~~~ $ git tag v1.4-lw $ git tag v0.1 v1.3 v1.4 v1.4-lw v1.5 ~~~ 這時,如果在標簽上運行 `git show`,你不會看到額外的標簽信息。命令只會顯示出提交信息: ~~~ $ git show v1.4-lw commit ca82a6dff817ec66f44342007202690a93763949 Author: Scott Chacon <schacon@gee-mail.com> Date: Mon Mar 17 21:52:11 2008 -0700 changed the version number ~~~ ## 后期打標簽 你也可以對過去的提交打標簽。假設提交歷史是這樣的: ~~~ $ git log --pretty=oneline 15027957951b64cf874c3557a0f3547bd83b3ff6 Merge branch 'experiment' a6b4c97498bd301d84096da251c98a07c7723e65 beginning write support 0d52aaab4479697da7686c15f77a3d64d9165190 one more thing 6d52a271eda8725415634dd79daabbc4d9b6008e Merge branch 'experiment' 0b7434d86859cc7b8c3d5e1dddfed66ff742fcbc added a commit function 4682c3261057305bdd616e23b64b0857d832627b added a todo file 166ae0c4d3f420721acbb115cc33848dfcc2121a started write support 9fceb02d0ae598e95dc970b74767f19372d61af8 updated rakefile 964f16d36dfccde844893cac5b347e7b3d44abbc commit the todo 8a5cbc430f1a9c3d00faaeffd07798508422908a updated readme ~~~ 現在,假設在 v1.2 時你忘記給項目打標簽,也就是在 “updated rakefile” 提交。你可以在之后補上標簽。要在那個提交上打標簽,你需要在命令的末尾指定提交的校驗和(或部分校驗和): ~~~ $ git tag -a v1.2 9fceb02 ~~~ 可以看到你已經在那次提交上打上標簽了: ~~~ $ git tag v0.1 v1.2 v1.3 v1.4 v1.4-lw v1.5 $ git show v1.2 tag v1.2 Tagger: Scott Chacon <schacon@gee-mail.com> Date: Mon Feb 9 15:32:16 2009 -0800 version 1.2 commit 9fceb02d0ae598e95dc970b74767f19372d61af8 Author: Magnus Chacon <mchacon@gee-mail.com> Date: Sun Apr 27 20:43:35 2008 -0700 updated rakefile ... ~~~ ## 共享標簽 默認情況下,`git push` 命令并不會傳送標簽到遠程倉庫服務器上。在創建完標簽后你必須顯式地推送標簽到共享服務器上。這個過程就像共享遠程分支一樣 - 你可以運行 `git push origin [tagname]`。 ~~~ $ git push origin v1.5 Counting objects: 14, done. Delta compression using up to 8 threads. Compressing objects: 100% (12/12), done. Writing objects: 100% (14/14), 2.05 KiB | 0 bytes/s, done. Total 14 (delta 3), reused 0 (delta 0) To git@github.com:schacon/simplegit.git * [new tag] v1.5 -> v1.5 ~~~ 如果想要一次性推送很多標簽,也可以使用帶有 `--tags` 選項的 `git push` 命令。這將會把所有不在遠程倉庫服務器上的標簽全部傳送到那里。 ~~~ $ git push origin --tags Counting objects: 1, done. Writing objects: 100% (1/1), 160 bytes | 0 bytes/s, done. Total 1 (delta 0), reused 0 (delta 0) To git@github.com:schacon/simplegit.git * [new tag] v1.4 -> v1.4 * [new tag] v1.4-lw -> v1.4-lw ~~~ 現在,當其他人從倉庫中克隆或拉取,他們也能得到你的那些標簽。 ## 檢出標簽 在 Git 中你并不能真的檢出一個標簽,因為它們并不能像分支一樣來回移動。如果你想要工作目錄與倉庫中特定的標簽版本完全一樣,可以使用 `git checkout -b [branchname] [tagname]` 在特定的標簽上創建一個新分支: ~~~ $ git checkout -b version2 v2.0.0 Switched to a new branch 'version2' ~~~ 當然,如果在這之后又進行了一次提交,`version2` 分支會因為改動向前移動了,那么 `version2` 分支就會和 `v2.0.0` 標簽稍微有些不同,這時就應該當心了。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看