最近我已經將大量文件添加到本地倉庫,並將這些文件外部推送到其他倉庫。在我意識到這一點之後,我做了一些關於該主題的搜索,並使用git reset完全刪除了這些文件。我還做了一些其他的事情來優化回購(git gc,repack)。現在我的本地副本從400MB下降到100MB以下。問題是,我在heroku網站上的回購仍然被列爲400MB,並且我不確定是否有我應該做的事情,以反映所有更改爲遠程回購?如何優化遠程GIT倉庫 - 主要是Heroku
回答
與本地回購一樣,git gc
是將清除所有鬆散對象(如您的文件不再是歷史記錄的一部分的Blob)的操作。當您有權訪問遙控器時,可以直接進行此操作。如果絕對沒有辦法做到這一點,那麼你堅持等待,直到你的推動觸發器git gc --auto
。這是保證最終發生的,所以除非實際上存在400MB的回購問題(例如支付更多的託管費用),否則這不是問題。從回購中獲取/提取/克隆的任何人都將獲得他們需要獲得的100MB。
我相信github也會定期在儲存庫上運行git gc
;我不知道Heroku是否做了這樣的事情。
Github似乎並沒有定期運行gc(或者至少在沒有活動的版本庫上) – 2012-12-03 18:03:03
@Romuald我認爲它實際上是通過git間接運行的。我不知道如何知道它是否在沒有任何活動的遠程存儲庫上運行 - 它不應該產生除repo大小以外的任何遠程可見更改,並且repo不一定要重新打包以足以改變這種情況。 – Cascabel 2012-12-03 19:04:20
- 1. 替換遠程git倉庫(Heroku)
- 2. Git遠程倉庫合併
- 3. 替換遠程git倉庫
- 4. Heroku的git倉庫
- 5. phpstorm和git遠程倉庫
- 6. 我如何將遠程git倉庫從工作倉庫改爲裸倉倉庫
- 7. 使用git共享遠程倉庫?
- 8. 如何從遠程git倉庫獲取所有遠程URL?
- 9. 風險增加遠程git倉庫到當前的git svn庫
- 10. Git reset --hard和一個遠程倉庫
- 11. 在git倉庫中有一個git倉庫,但只有一個遠程
- 12. 查看Git倉庫在Heroku
- 13. 初始化空git倉庫
- 14. 如何將多個遠程git倉庫包含到單個倉庫中?
- 15. 如何確定遠程git倉庫是否「安全」從
- 16. 如何將我的遠程git倉庫移動到另一個遠程git倉庫?
- 17. git登錄ssh遠程倉庫
- 18. 訪問遠程Git倉庫的URL
- 19. 遠程Git倉庫和SSH協議
- 20. Git - 遠程倉庫只能獲取
- 21. 遠程倉庫應該如何與GIT中的本地倉庫同步?
- 22. 本地git倉庫不一樣的遠程倉庫
- 23. 刪除本地git倉庫會影響遠程倉庫嗎?
- 24. 無法連接到遠程Git倉庫
- 25. 像水銀創建遠程Git倉庫
- 26. 從git shell中刪除遠程倉庫
- 27. 從github遠程倉庫git導出
- 28. 從git遠程倉庫下載文件
- 29. Git遠程倉庫抓取鉤
- 30. 獲取Git倉庫的遠程URL
'git gc'在內部調用'git repack',所以一般不需要直接重新打包。 – Cascabel 2010-11-10 14:19:34
如果你有能力把它拿下來,進入維護模式,你可以嘗試將一個小的git倉庫推向heroku,並覆蓋它。你會有警告,跟着他們來強制推送(我不記得細節)。然後在那裏強制你的真正回購。這不是一個真正的答案,因爲我不知道git gc如何用這些文件改變你的git歷史。 – oma 2010-11-13 19:45:52