2011-03-24 40 views
1

我有(即「自己」)一個開源項目,我想要做一些工作並擴展然後出售它。問題歸結爲儘管在源代碼管理中進行管理。我的開源項目有SVN。這個回購是公開的。製作輔助(私人)存儲庫的最佳方式是什麼?但是保持這兩套源代碼公平地同步?如何最好地管理公共和私人的源代碼集?

到目前爲止,我唯一可以判斷的方法就是在兩者之間創建和應用補丁。但這似乎很乏味。我在想Git可以做到這一點,但我對Git沒有經驗,所以我不確定。

+0

不要使用svn進行分佈式版本控制...... – alternative 2011-03-24 23:38:53

回答

3

我會建議使用Git而不是SVN。藉助Git,您可以輕鬆地在單獨的存儲庫和分支之間進行合併。你可以找到一個偉大的指南here。例如,如果您要在github.com上託管代碼,則可以爲自己的代碼創建私有存儲庫,爲開放源代碼項目創建一個公共存儲庫。然後,您可以在本地合併這兩個存儲庫,而無需創建補丁並將其應用到每個分支。 Git速度很快,因此創建和銷燬分支很容易,而且幾乎沒有開銷。它是在考慮到這個工作流程的情況下創建的,如果您遇到困難,有一個很好的社區可以回答您的問題。

+0

爲了與我的開源託管提供程序兼容,有一個問題可以在這種情況下使用git-svn嗎? – Earlz 2011-03-25 01:32:47

+0

當然,但是在你的最終需要做更多的工作來支持這兩個SCM系統,因爲你需要熟悉git-svn。我會建議創建一個遠程私人git存儲庫,您可以與您的公共svn存儲庫一起使用。當然,你總是可以將提供商從SVN提供商切換到Git提供商:) – 2011-03-25 01:42:33

+0

好吧,提供商確實支持Git,但我不想切換,以防萬一我真的很討厭Git – Earlz 2011-03-25 01:47:46