因此,當涉及到重新編寫整個系統時,您是否更願意爲重新編寫一個新的回購庫,或只是在現有的回購庫中新建一個文件夾?新回購或新回購的文件夾?
我問的原因是新的文件夾方法需要一些雖然爲目錄結構,因爲你需要開始像一些東西。
/root
/root/v1/
然後加入
/root/v2
因此,當涉及到重新編寫整個系統時,您是否更願意爲重新編寫一個新的回購庫,或只是在現有的回購庫中新建一個文件夾?新回購或新回購的文件夾?
我問的原因是新的文件夾方法需要一些雖然爲目錄結構,因爲你需要開始像一些東西。
/root
/root/v1/
然後加入
/root/v2
你忘了第三個選項:
準確地使用版本控制,以便您不需要爲每個版本創建文件夾。
要擴展上述內容:如果新系統與舊系統完全不同 - 完全重寫就像您說的那樣 - 那麼我可能會使用新的存儲庫。如果重寫更加增量,那麼我會保留現有的存儲庫。
添加一個標籤,當你開始重新寫或做重新寫上一個專用分支,這樣你可以跟蹤在舊代碼結束,新的代碼從哪裏開始的。藉助Mercurial或Git等分佈式版本控制系統,您可以在服務器上創建另一個克隆以進行重寫。
分支是一個非常強大的工具。我寫了一個tutorial for Mercurial about branches,你可能會覺得有趣。你看到Alice和Bob在幾個分支上並行工作。在你的情況下,你仍然可以在處理新代碼時將東西添加到舊代碼中。
如果新系統的內部結構不同,但它與系統的其他部分以舊版本相同的方式連接(例如,後端),我將與版本庫的新分支一個Web應用程序)。
如果是在內部完全不同的,與系統的比老版不同的方式,其餘的接口,那麼我會用不同的版本庫去,因爲它不僅僅是一個重寫的新產品。
也是一個很好的方法來看看它。 – hcker2000 2012-01-12 16:47:13
看起來很容易失去一個開始,另一個開始如果你有大量的提交。 – hcker2000 2012-01-12 16:02:33
我已經添加了一些關於跟蹤舊代碼和新代碼的信息。 – 2012-01-12 16:06:34
創建一個版本註釋,您可以在其中定義「這是真正的休息」 - 點。 – Independent 2012-01-12 16:08:11