[英]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 。 在您的情況下,只需清除要更改為submodules
的subfolders
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.