簡體   English   中英

之后如何向推送的提交中添加標簽?

[英]How to add a tag to a pushed commit afterwards?

我在master分支工作。 而我試圖做的就是為其創建標簽。 我對文件進行了更改。 之后,我使用了以下命令行:

git tag -a <tag_name> -m "tag information and commit message"

這似乎有效。 我用了:

git describe --tags

顯示使用哪個標簽,並顯示正確的標簽

然后,我使用TortoiseGit提交更改,然后拉並推並檢查了標記選中標記。 但是,當我查看Bitbucket存儲庫時,將提交到master分支。 標簽未通過。

有沒有辦法在此提交之后向本地和遠程添加標簽? 我什么都找不到。 在標簽下提交更改的通常過程是什么?

確保將標簽推送到遠程。

$ git push --tags

使用$> git push --tags會將所有標簽推送/轉換到遠程服務器。

如果你需要的只是按下一個特定的標簽(因為你還沒有這樣做的其他代碼的決定,如果你把他們或者他們可能會被更新或更高版本刪除或者只是你不想與他人分享,現在 ), 您可以使用:

$> git push origin <tag_name>

創建標簽並推送

  1. 打開“ TortoiseGit Log Message對話框
  2. 右鍵單擊要標記的提交,然后單擊Create Tag at this version...
    在此處輸入圖片說明
  3. 歸檔Tag nameMessage ,類似於:
    在此處輸入圖片說明
    然后,您將標簽放在本地
  4. 返回“ Log Message對話框,右鍵單擊該標簽標簽,然后單擊“ Push "tag_name"...
    在此處輸入圖片說明
  5. Push對話框,檢查所有選項是否正確,然后按“ OK按鈕
    在此處輸入圖片說明
    然后,您將該標簽放在遙控器上

使用“同步”對話框比較本地和遠程之間的標簽

如果您無法推送某些標簽,請嘗試使用Compare tags

  1. 右鍵單擊git存儲庫,然后單擊Git Sync...
    在此處輸入圖片說明
  2. 使用Compare tags功能,請參閱:
    在此處輸入圖片說明
  3. 如果遙控器上已經有相同的名稱標簽,則可能會顯示:(注意:這只是全部的一種情況。)
    在此處輸入圖片說明
    首先,您必須了解以下事實: 標記引用指向標記對象 ,並且看到^{}標記對象指向提交對象
    因此,如您所見, 標記對象 tag_name^{}指向本地和遠程的commit 0bd2bfa
    但是, 標記引用 tag_name指向不同的標記對象
    局部標記參考 tag_name指向d443bd1這是一個標簽對象
    遠程標記參考 tag_name指向f6c05b7這是另一個標簽對象
  4. 如果確定遙控器上的標簽錯誤,則可以從“ Sync對話框中將其刪除
    在此處輸入圖片說明
  5. 然后,您可以從“ Sync對話框將本地按鈕推送到遠程按鈕:
    在此處輸入圖片說明
  6. 現在,完全一樣
    在此處輸入圖片說明

我找到了一個可行的解決方案:

git tag -a <tag_name> <beginning of the commit hash shown in bitbucket> -m "a commit message"
git push --tags

我最初使用了另一個標簽。 但是,如果要使用相同的名稱,則必須先將其刪除:local with:

git tag -d <tag name>

遠程:

git push --delete origin <tag name>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM