1
情景:大Git倉庫(〜16K提交)設有多家分支機構,二進制文件等內<repo>/a/b
的工具已經發展了這麼多,我想將它的代碼放在一個單獨的存儲庫中。我希望保留歷史。我只對一個分支的歷史和單個目錄內的代碼感興趣。移動目錄
這裏是我做過什麼:
$ git clone <old git repo>
$ git remote rm origin
$ git filter-branch --subdirectory-filter <directory I want> -- --all
結果就是我想要的東西 - 〜80次的提交,一個分支約10的源文件。
問題:版本庫很大。 Git gc沒有多大幫助。
$ du -sh .
904M .
$ git gc && du -sh .
617M .
$ cd .. && mkdir tmp && cd tmp && git clone ../repo && du -sh repo
615M repo/
我錯過了什麼?我怎樣才能將回購合理化?
我的猜測是合併拉入不需要的變更集: - /你可以嘗試導出變更作爲補丁與歷史? –