[英]Can I use git 'tag' when I release my project?
我有一個問題,我在一個分支中開發我的應用程序,然后在完成該工作后,將該分支合並到我的主數據庫中。 我從主人那里創建了一個標簽。
在生產環境中,我的工作區中有這個應用程序git存儲庫。 發布新版本時,是否可以進入該目錄,簽出我創建的標簽?
ps,我認為這種方式可行,但是以下讓我感到困惑。
$ git branch
* (no branch)
master
我在生產環境中找不到我正在使用的標簽,有什么辦法可以顯示我正在使用的標簽?
在生產環境中,我的工作區中有這個應用程序git存儲庫。 發布新版本時,是否可以進入該目錄, 簽出我創建的標簽 ?
是的,沒有。
Git假設您想基於當前檢出的版本進行新工作。 標簽是不可變的(不可更改),因此您無法在標簽上進行新工作。 因此,當您這樣做時會發生什么
$ git checkout <tag>
是Git檢出上述標記的狀態 ,並為您創建匿名分支(在git文檔中稱為“ 分離的HEAD ”),從<tag>
開始,您可以在其中創建新作品。
這就是為什么您在git-branch輸出中看到(no branch)
的原因:
$ git branch
* (no branch)
master
IMVHO在“ 簡化的Git概念 ”的“分離的HEAD及其所有內容”部分對IMVHO進行了很好的解釋(帶有圖表),其中git checkout v1.0
操作得到了詳細說明。
我找不到在生產環境中使用的標簽,有什么辦法顯示我使用的標簽 ?
如果您使用帶注釋/簽名的標簽(使用git tag -s
或git tag -a
),則可以使用git-describe;如果使用輕量級標簽,則可以使用git describe --tags
。
例如你會得到
$ git describe
<tag>
如果您直接在標簽上。
您可以使用git describe --abbrev=0
來顯示當前提交中的最新標記。
所以如果你有例如
tag v1.00
tag v1.01
tag v1.02
tag v2.00
並且您git checkout v1.01
, git describe --abbrev=0
將導致:
v1.01
是的,這就是打算使用的方式。 確保推/拉標簽,因為默認情況下不是。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.