2015-04-30 77 views
1

我們有一個使用兩個git存儲庫的項目。一個是隻讀的(我們稱之爲A),我們完全控制另一個(我們稱之爲B)。擺脫重複的主分支

現在,我的同事在我們的B存儲庫中創建了一個新的「master」分支,但是一個存儲庫已經有一個「master」分支(當時他沒有連接到A存儲庫,所以這可能是原因)。這大大混淆了我的本地git工具(實際上它也與B回購混淆)。

現在我們有這樣的事情(基於源代碼樹圖):

      B/master 
          \ 
    B/my-branch1   /- 13 -\ 
     \    /  \ 
     7 - 8 - 9 - 10 - 11 - 12 - 14 - 15 
    /
1 - 2 - 3 - 4 - 5 - 6 - master 
         \ 
         16 - 17 - 18 - 19 
        /
        B/my-branch2 

我需要這個B /主走開。

我試圖刪除遠程「主」分支,但我不能。很可能遠程B倉庫仍然需要它的「主」分支(可能應該在修訂版6)。我也嘗試重置「主」分支,但是本地工具對於它是哪個分支感到困惑。當我直接檢查我的遠程存儲庫時,「master」分支包含修訂1,2,7,8,9,10,11,13。我的本地git工具將主分支識別爲1,2,3,4,5,6,B/master作爲分離分支。

我可以遠程修復此混亂,如果不是,我需要在本地執行什麼操作,以及需要在遠程存儲庫中修復此問題?

+0

當您嘗試刪除遠程'master'分支時,您使用了什麼命令?你得到了什麼錯誤? –

+0

@RichardHansen我不記得確切的命令,但我一定是在正確的軌道上,因爲我得到了「默認情況下,刪除當前分支被拒絕...」或其他。我最終重新創建了回購解決方案來解決我的問題,但現在我可以看到有什麼可以幫助我解決問題。事實證明,我應該刪除「B /主」,同時保留它作爲遙控頭(不可能發聲)。通常,在刪除主分支之前應該切換主題,但回購的Web界面需要將主題設置爲主控。這種情況只發生在服務器上的新鮮回購。 – jahu

回答

0

這當然不是最好的解決方案,但我解決了我的問題,通過斷開項目副本,修復壞分支並將其推入新的回購協議。

我不得不這樣做,因爲我有限制訪問遠程回購(必須通過支持來完成所有任務),並且出於某種原因,遠程服務器需要將Head設置爲「master」(如果它是設置爲別的東西,回購網頁界面打破了,儘管回購似乎正常)。這實際上無法刪除「主」分支。有趣的是,新鮮的回購沒有「主」分支,但「主」設置爲頭(所以對我的問題的更好的解決方案需要以某種方式重新創建此狀態)。

恐怕這些可能是特定於我的回購服務器提供商的怪癖。