簡體   English   中英

拆分現有的 git 存儲庫

[英]Splitting an existing git repository

一個包含多個項目的 SVN 存儲庫,每個項目都在自己的文件夾中,已遷移到 Git。 但是保留了原始結構 - 有什么辦法可以拆分現有的 GIT 存儲庫,以便將每個文件夾移動到自己的存儲庫,但保留歷史記錄?

您可以使用git filter-branchsubdirectory-filter git filter-branch 對於要拆分的每個目錄,您可以例如

git clone --mirror origin-url

創建一個包含所有歷史記錄和引用的本地副本,然后在克隆中

git filter-branch --subdirectory-filter path/to/specific/project/in/repo --prune-empty -- --all

您需要查看結果以確保它看起來沒問題,如果是這樣,它可以用於為該項目填充新的原始存儲庫。 首先,您可能想要刪除filter-branch創建的備份 refs ( refs/original/* ),然后根據您托管存儲庫的方式,您可以將其用作原點,或者初始化一個新的原點和git push --mirror

暫無
暫無

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

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