我有一個小型的開源C++項目,使用Mercurial在Bitbucket上託管。 現在,我正在開發一個新功能,它增加了一些新的文件和新的構建目標;否則它不會更改現有文件。使用Mercurial的公共項目的私人附件
我已經打開了一個新的分支,但是當我將它推到主庫時,我被告知我無法打開新功能..所以我關閉了倉庫並開始尋找解決方案。我有兩個問題:
對於這種情況會有什麼好的方法?我需要一些能夠讓我同步公共和私人回購之間的通用代碼的修復。我不介意只在本地使用私人代碼。我發現了兩件事:
使用專用舞臺作爲新分支;但我不知道如何得到修復我在祕密分支到共同文件到打開回購
使用subrepos;這將需要一些代碼重組,但可能更清潔..它只是困擾我,這是在文檔中標記爲「最後手段功能」。
我該如何解決已經將已關閉的代碼推到回購庫的情況?它有助於剝離分支並推送,還是我需要從Bitbucket中刪除回購並創建一個新回購?
至於同步:聽起來好像這就是合併是......很難真正進入細節,而無需任何真正的細節:) 作爲一個方面說明:如果它確實是一個開源項目,您可以在沒有問題的情況下進行分支,沒有人有權要求您不要這樣做,並公開分享您的工作(如果您遵循許可證;有時名字是品牌,你可能需要重新命名的東西)。 – planetmaker
@planetmaker:我不需要分叉,因爲我是該項目的唯一開發者。我保持開源,所以其他人(主要是學生)可以在他們的代碼中使用它。 –
@planetmaker:至於合併,我不知道如何合併來自私人分支的提交,如果它們包含對公共和私人文件的更改 - 是否將私人文件複製到公共回購? –