最近我已經將大量文件添加到本地倉庫,並將這些文件外部推送到其他倉庫。在我意識到這一點之後,我做了一些關於該主題的搜索,並使用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. phpstorm和git遠程倉庫
- 4. 使用git共享遠程倉庫?
- 5. Git reset --hard和一個遠程倉庫
- 6. 查看Git倉庫在Heroku
- 7. 在git倉庫中有一個git倉庫,但只有一個遠程
- 8. 初始化空git倉庫
- 9. 如何將多個遠程git倉庫包含到單個倉庫中?
- 10. 如何確定遠程git倉庫是否「安全」從
- 11. 遠程Git倉庫和SSH協議
- 12. 本地git倉庫不一樣的遠程倉庫
- 13. 遠程倉庫應該如何與GIT中的本地倉庫同步?
- 14. 無法連接到遠程Git倉庫
- 15. 從git shell中刪除遠程倉庫
- 16. 從github遠程倉庫git導出
- 17. 獲取Git倉庫的遠程URL
- 18. 添加git遠程倉庫的問題
- 19. 推送到遠程git倉庫索引
- 20. 遠程Git倉庫在文檔根
- 21. 訪問遠程的Git倉庫
- 22. Git遠程倉庫(帶文件?)
- 23. Git遠程倉庫註銷問題
- 24. 同步2個遠程Git倉庫
- 25. git倉庫的遠程列表?
- 26. 的Git - 拒絕遠程倉庫提交
- 27. 創建鏈接到遠程git倉庫
- 28. 如何在TeamCity中使用多個遠程Git倉庫?
- 29. 趕上本地git倉庫到遠程倉庫
- 30. 如何爲svn倉庫創建git遠程分支
'git gc'在內部調用'git repack',所以一般不需要直接重新打包。 – Cascabel 2010-11-10 14:19:34
如果你有能力把它拿下來,進入維護模式,你可以嘗試將一個小的git倉庫推向heroku,並覆蓋它。你會有警告,跟着他們來強制推送(我不記得細節)。然後在那裏強制你的真正回購。這不是一個真正的答案,因爲我不知道git gc如何用這些文件改變你的git歷史。 – oma 2010-11-13 19:45:52