2011-10-14 56 views
0

我有一個包含幾個類的庫。現在我想將這個庫分成兩個獨立的庫。與源代碼管理結合使用的正確/最佳方式是什麼?將項目拆分爲多個較小的項目

我最初的想法是創建一個新的儲存庫爲每一個新項目,並在最初的承諾,這是從現在無人維護項目拆分提及。 雖然到目前爲止我只有幾個提交,但是這個方法的一個問題是項目的歷史丟失了。

回答

1

這可能取決於您使用的是哪個版本控制。例如,在git中,你可以使用filter-branch來完成這個技巧。

可以使原來的資源庫的一個副本,使用git的過濾分支,讓你有興趣和刪除一切的一部分的歷史。

$ git filter-branch --subdirectory-filter mydir1 
$ git gc --aggressive 
$ git prune 

當心這是破壞性的。您將看到存儲庫大小的顯着減少,只有mydir1的歷史記錄並刪除所有不可訪問的對象。

然後,對其他庫/子目錄重複相同的操作。這樣,您將只保留屬於每個零件/庫/目錄的歷史記錄。

如果您使用的是不同的版本控制系統,那麼你必須弄清楚相當於辦法做到這一點。

0

你可以創建一個新的存儲庫,也可以在同一存儲庫下創建新的項目,並刪除舊的時間。其實,這取決於你。如果您將以前的項目看作測試級別或前Alpha階段,則可能需要創建新的存儲庫。但除此之外,使用相同的存儲庫很可能出現這種情況。

1

拇指我遵循的規則取決於您是否將開發和/或獨立部署的庫。如果僅僅爲了代碼組織而將庫分開,並且將代碼作爲單個解決方案進行部署,那麼創建單獨的存儲庫就沒有必要或有益處。

在另一方面,如果你將版本和獨立釋放庫,然後有單獨的儲存庫中的代碼可以幫助這一點。因此,例如,如果您將代碼分離,因爲其中的一部分屬於共享框架,那麼請將框架代碼放入其自己的存儲庫中。這將允許您維護,構建和發佈獨立於使用框架構建的任何應用程序的框架。

HTH

+0

我將獨立部署這些庫。你有什麼建議使用這個方法嗎? – Stijn