3C科技 娛樂遊戲 美食旅遊 時尚美妝 親子育兒 生活休閒 金融理財 健康運動 寰宇綜合

Zi 字媒體

2017-07-25T20:27:27+00:00
加入好友
一個專案如果 commit 了 N 次,就算 commit message 寫得很完整,如果要很快的找到特定版本也是有點困難。 利用 git tag 幫 commit 加入標籤,操作上就更方便迅速。 # 列出所有標籤 git tag # 新增一個標籤,名稱為 my-tag git tag my-tag # 如果要自訂註解,可以利用參數 -m,沒有加 -m 的話預設會以 HEAD (當前版本) commit message 為標籤的 message git tag my-tag -m "My tag message." # 如果要寫多行註解,可以利用參數 -a 開啟編輯器編寫 git tag -a my-tag # 從指定標籤開一個新 branch git branch new-branch my-tag # 查看標籤詳細資料 git show my-tag # 針對指定 commit 做標籤 git tag my-tag d3a0dcb # push 指定標籤 (多個標籤以空白隔開) git push origin my-tag # push 所有 tag git push --tags # 刪除本機端指定標籤 (多個標籤以空白隔開) git tag -d my-tag # 刪除本機端所有標籤 git tag | xargs git tag -d # 刪除遠端指定標籤 (多個標籤以空白隔開,但是每個標籤前面都要加上 :refs/tags/) git push origin :refs/tags/my-tag   有關 Tag update: 在更新本機標籤時需要使用 git fetch,而不是 git pull git remote update 雖然會把新的標籤拉下來 但是若兩端皆存在相同名稱的標籤,且遠端版本較新時 用 git remote update 並不會更新本機標籤 由於標籤和 branch 性質不相同,如果要更新標籤,需要在強制模式 (參數 --force) 下執行 (除了 fetch) 以下為更新標籤的操作方式 # 覆寫標籤 (以當前 branch 最後一次的 commit 寫入) git tag -f my-tag # 覆寫遠端指定標籤 (多個標籤以空白隔開) git push -f --follow-tags origin my-tag # 覆寫遠端所有標籤 (本機端不存在的標籤不會覆寫上去) git push -f --tags # 從遠端覆寫本機端所有標籤 (遠端不存在的標籤不會被覆寫) git fetch --tags   為標籤重新命名: Git 本身並沒有辦法讓標籤直接重新命名 因此需要用建立新標籤 + 移除舊標籤的方式達成 # 使用 old-tag 的 commit 建立新標籤 new-tag git tag new-tag old-tag # 刪除本機端舊標籤 git tag -d old-tag # 刪除遠端舊標籤 git push origin :refs/tags/old-tag # 上傳新標籤 git push origin new-tag   如果專案有多人協作 請通知你的夥伴們執行 git pull --prune --tags 否則舊標籤仍然會存在於他們的電腦上 且他們在 push 時就很有可能又把舊標籤 push 上去 Reference: git tag – How do you rename a Git tag? – Stack Overflow

本文由caloskaoorg提供 原文連結

寫了 5860316篇文章,獲得 23313次喜歡
精彩推薦