2013-12-20 20 views
0

所以有人刪除了一個遠程分支,但是當他刪除分支時變更集丟失了。如何將變更集從遠程刪除的分支移動到另一個分支?

我在我的本地存儲庫上有變更集,並試圖將變更集合併到我的默認分支,然後我推送了,但我得到一個錯誤「abort:push在分支'rc'上創建新的遠程頭650367cd0ff4!

+1

你說的分支缺失是什麼意思?這個分支的所有提交都被剝離了,或者分支被'--close-branch'或其他東西關閉了? – HankMoody

+0

我不知道他做了什麼,但我無法訪問它,刪除是故意的。該方法是否將解決方案更改爲我從本地分支中選取變更集的問題,而該變更集不再存在於遠程分支上,而是變爲兩個分支上存在的新分支? –

+0

被刪除的分支是否被命名爲「rc」? – HankMoody

回答

1

有幾個選項,根據你的情況有:

  1. 如果整支被剝奪,你有分支機構本地,那麼你可以再次將其推:

    hg push --new-branch 
    

    這因爲Mercurial無論如何都會將您的本地提交發送到遠程repo,每次您將推送(直到您在本地刪除這些提交)。然後您可以關閉不需要的分支--close-branch(這將使所有提交回購,但只是將分支標記爲關閉/未使用)。

    hg ci --close-branch 
    
  2. 移植的希望本地提交一些分支到其他:

    hg graft -r 123 
    hg push 
    
  3. 創建新的遠程頭(「中止:推分支‘RC’創建新的遠程頭650367cd0ff4」)。這沒什麼不對,它只是意味着你的一個分支將有兩個單獨的頂級提交。這些提交可以稍後合併在一起。

    hg push -f 
    
+0

哈哈亞我想我可以只是hg推-f 感謝您的幫助! –

相關問題