所以我使用git一次(大量)拉出大量文件。git需要很長時間才能加載
但後來我用git rm
從git的數據庫中刪除目錄,因爲git的啓動需要很長時間,從產地拉,但調用git rm
沒有解決的問題 - 蹦仍需要很長的時間,從產地拉。
除了重新創建存儲庫以解決此問題之外,還可以做些什麼?
所以我使用git一次(大量)拉出大量文件。git需要很長時間才能加載
但後來我用git rm
從git的數據庫中刪除目錄,因爲git的啓動需要很長時間,從產地拉,但調用git rm
沒有解決的問題 - 蹦仍需要很長的時間,從產地拉。
除了重新創建存儲庫以解決此問題之外,還可以做些什麼?
因爲混帳保留所有提交的歷史,即內容技術上的git倉庫(其中,幸運的是正是源回購是好:)
可以改寫過去的歷史刪除所有對文件夾的引用。
這個網站有使用filter-branch
一個例子:
http://dalibornasevic.com/posts/2-permanently-remove-files-and-folders-from-a-git-repository
注:你改寫歷史,你將需要強制回購推送到服務器。如果其他人正在使用/承諾它,可能會導致他們一些麻煩。
編輯:的話題另一個有趣的閱讀:http://ramblinglabs.com/blog/2012/04/git-removing-sensitive-data-and-rewriting-history
git rm
不會真正刪除其是在致力於在你已經在你的倉庫中引用的任何頭的當前歷史上的任何一點大對象(如分公司,標籤等)
我不確定這是什麼導致git拖慢(根據我的經驗,一旦你拉了很大的差異,事情應該回到快速和正常的後續拉) ,但如果您懷疑它,您可以嘗試使用git rebase
完全刪除包含較大差異的提交。
一旦你這樣做了,你可以做一個git gc
來清理分離的對象從你回購和減少整體大小。 rsync與你是遠程回購,你需要做一個強制推動。