簡體   English   中英

在保留和縮小分支范圍的同時拆分git存儲庫

[英]Split git repository while preserving and scoping-down branches

關於如何將大型git存儲庫(LargeRepo)拆分為較小的存儲庫(SmallRepoA,SmallRepoB)並保存提交的大量教程。 我想通過附加要求做到這一點,即每個SmallRepo僅繼承那些與SmallRepo中的文件相關的分支和分支提交

對於每個SmallRepo:

  1. 如果分支對SmallRepo中的文件沒有影響,請不要維護分支
  2. 對於其余分支,刪除對SmallRepo中的文件沒有影響的提交。

有效地,我試圖獲得最終結果,以模仿如果我有一個單獨的SmallRepos開始時世界的樣子。

這是一個例子:

可以說LargeRepo看起來像這樣:

LargeRepo
|---- Folder1
|---- Folder2
|---- Folder3

我想分為三個SmallRepos,每個高級文件夾一個。

Folder1
Folder2
Folder3

假設LargeRepo具有Branch1和Branch23。 Branch1更改了Folder1中的文件,Branch23更改了Folder2和Folder3中的文件。

分支視圖如下所示:

Folder1
|----> Branch1 (all commits)

Folder2
|-----> Branch23 (only commits affecting files in Folder2)

Folder3
|------> Branch23 (only commits affecting files in Folder3)

理想情況下,該解決方案可以在Windows上使用git命令行實現,並且不涉及BASH。

這種用於拆分存儲庫的常規解決方案也適用於對分支進行范圍界定: https : //stackoverflow.com/a/17864475/356790

出於某種原因,它不適用於我在本地創建的存儲庫,但對於我從GitHub克隆的存儲庫來說效果很好。

暫無
暫無

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

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