2013-02-08 133 views
7

我建立混帳:從鏡子樹刪除遠程分支

git clone --mirror <url> 

我想刪除一些遠程分支機構,但我得到了以下信息庫:

$ git push origin :b 
error: --mirror can't be combined with refspecs 

...或

$ git push --delete b 
fatal: --delete doesn't make sense without any refs 

另外,git branch -D b不接觸遙控器。

有沒有辦法從鏡像克隆中刪除遠程分支,還是我需要爲此構建另一個克隆?

回答

2

事實上,你可以刪除任何存儲庫的任何分支,甚至沒有將其克隆:

git push <url> +:refs/heads/b 

唯一的警告是你必須在git reposi裏面tory,任何存儲庫 - 你甚至可以創建一個空的存儲庫來做到這一點,然後刪除它。

當然,您也可以在鏡子內部做到這一點,只需注意,您只會在做完git remote prune origin後看到分支消失。

3

如果使用--mirror克隆存儲庫,則將創建裸存儲庫。這意味着:

「Git只包含版本控制信息並且沒有工作文件(沒有樹),它不包含特殊的.git子目錄,而是包含.git子目錄的所有內容-directory直接在主目錄本身。「。

克隆中的鏡像選項旨在製作當前回購的「原樣」副本,包括筆記和外部參考。正如那樣說的,你是在錯誤的回購上做的,你應該使用原來的進行更改,鏡子也會相應地改變。

回答你的問題:

有沒有辦法從鏡像克隆刪除遠程分支機構或做我必須建立另一個克隆的是什麼?

不是我所知道的,除了裸露的存儲庫之外不能像非裸露的存儲庫一樣使用。

也許你需要它是一個分叉,也許如果你更好地解釋你需要什麼。無論如何,你提出這個問題已經有一年了。

下面是一些相關的問題,並DOC: