簡體   English   中英

在不同存儲庫中拆分git存儲庫以減小大小

[英]Split git repository in different repositories to reduce size

除了通常的commit/pull/push/branch等命令之外,我對git的了解也不是很熟練,所以我不知道搜索所需的正確單詞。

我正在尋找有關如何獲得所需內容以及指向URL的指針的建議,以便給出更多說明。

隨着時間的流逝,項目已經從單一產品演變為用於構建最終產品的多個子產品。 每個子產品都有其自己的子目錄樹,但是用於構建子產品和最終產品的Jenkins作業仍將整個存儲庫中的內容僅用於構建應做的一個產品。

即使對於隨時間變化不大的小型產品,這也需要花費大量的構建時間。 因此,我正在考慮將每個項目分成自己的存儲庫。 同時,它們對多個文件都遵循類似的模式,因此我想將其移至所有人使用的通用代碼中。 這是示意圖

/project
  /subproject1
    /common
    /src
    /test
  /subproject2
    /common
    /src
    /test
  /common # main project
  /src    # main project
  /test   # main project

到目前為止,我認為最好的方法是將所有子項目和主項目拆分為單獨的存儲庫。 保存歷史記錄會很好,但是過去提交已跨越多個子項目,並且未使用任何分支,因此這可能不可行。

另外,當我將通用代碼移到其自己的存儲庫中時,如何將文件返回到通用目錄中,以便將通用代碼中的更改推送到其自己的存儲庫中? 我已經讀過git-subtree可以解決這個問題,但我從未使用過。

這是最好的方法還是有更簡單的選擇?

隨着時間的流逝,項目已經從單一產品演變為用於構建最終產品的多個子產品。
...
所以我正在考慮將每個項目拆分到自己的存儲庫中

您應該子模塊。

在此處輸入圖片說明

子模塊是另一個項目中的一個獨立項目,該項目在其自己的文件夾中進行自我管理。

在您的情況下,由於您已經將代碼存儲在一個大的存儲庫中,因此您必須將其分解成小塊。

為此,請使用此文件夾bfc 在您的情況下,只需清除要更改為submodulessubfolders

在此處輸入圖片說明

暫無
暫無

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

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