2012-12-11 78 views
1

我有一個項目,其中data文件夾需要私人(但由VCS跟蹤)。因此,GitHub上的整個git回購是私人的。但是,這些代碼對很多人來說非常有用,所以我想保持公開。如何將兩個分支推送到兩個單獨的GitHub遙控器?

目前我的回購只有一個masterdev。一旦dev中的功能正在工作,它們就會合併到master中。我想創建一個no_data分支,並推動公共GitHub回購。 master應繼續跟蹤私人回購。我已經有一個私人的GitHub回購(我們稱之爲private_project)。我可以爲no_data分公司創建名爲project的公開回購協議。

問題:
a)我該如何設置,以便每個分支跟蹤單獨的回購?

b)由於兩個分支之間唯一不同的地方是公衆會忽略data/文件夾,所以我只是打算在.gitignore文件中添加該文件夾。但是,我希望剩下的代碼在兩個分支中保持不變。所以我很擔心,我每次合併masterno_data,我都必須手動解決.gitignore合併。

回答

1

不要。這一定會在一天或另一天導致錯誤。

充分利用data目錄submodule,以其自己遠程上游回購(即「private_project」之一),聲明與其父回購(其具有上游回購「public_project」)。

這樣,你可以推動父回購的任何分支到'public_project':它沒關係。
所有其他貢獻者在克隆「public_project」時將獲得的全部回購以及對另一個回購('private_project')的引用(他們無法訪問(因爲它是私人回購))。
請參閱「How exactly does git submodule work?」。

相關問題