簡體   English   中英

使用GIT從一個項目到另一個項目的源代碼遷移策略

[英]Migration strategy of source code from one project to another using GIT

我喜歡將GIT維護項目的某些代碼重用於另一個項目。 工作代碼是新項目的良好開端,盡管對於大多數新需求而言,大多數代碼都會過時。 因此,問題是處理該問題的最佳實踐是什么?

我可以

  • 為新事物創建一個新的存儲庫,然后從舊項目中挑選文件。 在剝離代碼以使其符合新項目所需的基本功能之后,請進行第一次提交,以使它的歷史記錄保持無用。 也許要花一些時間才能實現這個目標。 此外,也無法合並在舊項目中完成的增強功能。

  • 分支舊代碼,並逐步使其適應新的工作。 這意味着這兩個項目將糾纏在一個存儲庫中,該存儲庫只有一個名稱,在GitHub上有一個README等。

  • 創建一個新項目,從最小的主要部分開始,然后創建另一個庫項目,作為舊項目和新項目的通用集合。 但是,隨着HTML和JS的開發,由於JS中的導入非常復雜,HTML中的導入是不可能的,因此這令人頭疼。需要拉兩個repo來使每個項目都運行等。

你會怎么做? 有什么GIT技巧可以支持我嗎?

我會做的(我的條款可能與svn有關)...

A.創建一個新的存儲庫並將現有代碼作為分支

B.開始對該分支機構本身進行初步開發...

C.一旦到達一個階段,您會感覺到分支可以作為新項目的基礎,然后將其移到主干中。

這是一種另類的方式,但可以使您的行李箱盡可能保持清潔。 因為它的遷移代碼,以便完成清潔過程將采取一系列釋放......但嘗試應該盡可能干凈用最小的努力來啟動。

我會做的(我確實使用Git)。 如下:

  1. 簽出舊項目。
  2. 為我的新項目創建一個全新的存儲庫。
  3. 將兩個項目分開放置,以免污染來自舊版本的支持文件,配置等。 在iOS之類的系統中,這可能是真正的痛苦。
  4. 根據需要將我正在重用代碼的舊項目中的位移到新項目中。

除非項目大體相似,否則我發現采摘櫻桃要比嘗試從舊項目中卸下所有不必要的行李容易得多。

我剛剛概述的策略不需要特殊的Git工具。

也許這不是一個版本控制問題,而是一個重構問題。 聽起來好像有足夠的共享代碼可以將通用功能引入其自己的項目,您可以在其他項目中引用(通過git-subtreegit-submodule )。 這樣,如果您確實對共享代碼進行了修復/改進,則所有項目都將從中受益。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM