的我們有有platforms
子一個大的庫,運行git過濾分支子目錄過濾器還去除擺脫其他子目錄歷史
sdk/
.git/
android/
ios/
unity/
windows/
我們現在要打破到自己的倉庫。保持所有的歷史和分支。
我已經運行命令
git filter-branch -f --prune-empty --subdirectory-filter android -- --all
看起來像它完成了我會想什麼,促進子android
成爲這個新的版本庫的根,和我去推這一個新的遠程原點(在GitHub上)。
做這件事時,我得到了一個錯誤信息說有太大而不能推到遠程文件,但該文件的路徑是
unity/QAApp/...
中的其他子文件夾的歷史當中存在我沒想到filter-branch --subdirectory-filter
會採取。
我尋找到運行手動
git filter-branch -f --prune-empty --tree-filter \
'git rm -rf --ignore-unmatch ios unity windows && rm -rf ios unity windows' \
-- --all
但好像這是雙打零工我瞭解filter-branch subdirectory-filter
應該做的。這是預期的行爲,還是我錯誤地運行其中一個或其他命令?