Git大量刪除遠端tag

來源:互聯網
上載者:User

Git大量刪除遠端tag

在我最新任職的團隊裡,我們採用Git正式作為我們團隊開發管理的工具。我們使用Git來做版本控制,研發管理,和線上部署。我們將Git的版本庫直接作為代碼目錄,來存放線上代碼,發布的方法,就簡化成了,將線上環境的代碼目錄,checkout 到指定的 tag,簡單,快捷。

這個方法執行了一段時間後,發現一個新的煩惱,就是中央版本庫的tag數量會變得非常多,多的時候,達到300多個,這其實也沒什麼了不起,但是我們自己採用gitlab來搭建自己的中央版本庫,這個gitlab,還是很多bug的,當tag多了以後,整個網站都呈現出不是特別正常的樣子,所以,就需要保持較少的tag列表,讓網站保持比較高的效能。然後我就有了一個動機,就是刪除遠端的tag列表。

我用Google 搜了 how to delete git tags batch,發現老外的說法大概是,bulk delete,哈哈,英語不行啊。

無非就是shell下的一些做法,感覺實際使用上也夠了。

首先就是找到遠端要刪除的tags列表,關鍵是用對指令。

git show-ref --tag

這個指令可以列出所有的遠端的tag列表,然後就是shell下的一般處理手段了。

git push origin :<tag>

如上指令,會致使遠端tag被刪除。用管道一串連,萬事大吉。

git show-ref --tag | awk '/(.*)(\s+)(.*)$/ {print ":" $2}' | xargs git push origin

上面的指令就是拼接完整的指令了,不過這個指令,會刪除遠端所有的tag,慎用,如果希望刪除合格,應該修改awk指令的Regex。

刪除完了遠端的tag,本地的tag,刪法還不是太一樣,不過原理相同。

git tag | grep "v1.1.0.\d$" | xargs git tag -d

舉個例子,上述命令刪除本地所有 v1.1.0.x 的tag,這個指令,會最多刪除10個tag。

GitHub 教程系列文章: 

GitHub 使用教程圖文詳解   

Git 標籤管理詳解  

Git 分支管理詳解  

Git 遠程倉庫詳解  

Git 本地倉庫(Repository)詳解  

Git 伺服器搭建與用戶端安裝   

Git 概述  

分享實用的GitHub 使用教程  

Ubuntu下Git伺服器的搭建與使用指南 

Git 的詳細介紹:請點這裡
Git 的:請點這裡

本文永久更新連結地址:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.