我的中央存儲庫存儲在8GB的USB存儲棒上。我不小心犯了一些大文件,所以這個存儲庫不再適合這個棒子了。有沒有辦法糾正這種情況?如何保持Mercurial存儲庫小?
回答
因爲他有了可能使用的步驟,所以我投票支持了catchyifyoutry的答案,但這裏有一個方便的列表。
首先,雖然提醒。如果你已經把這個倉庫推到了半公開的位置,並且人們已經把倉庫拉出來了,那麼下面的提示都不會起作用。接下來,他們推動,你拉你會得到原來的變革回到他們未經修改的形式。唯一的辦法是與每個擁有克隆的人交談,並要求他們刪除並重新克隆。這就是說,到列表:
方法來抹殺你犯事故
- 文件,如果你還沒有拉或承諾任何東西:
hg rollback
將作爲一個一級撤消 - 如果你願意扔掉最後N個版本:
hg clone -r -N repo-with-too-much repo-with-N-fewer changesets
#示例:hg clone -r -2 big-repo small-repo
- 如果你的變化是很久以前的這類原因會好起來的:
hg convert --filemap myfilemap.txt too-big-repo new-repo
在這最後一種情況下myfilemap.txt
中有:
exclude path/to/file/to/remove
注:
- 的
clone -r
情況下,技術上要求的最小克隆,其中可能包括修訂尖-N,如果你有哪些分支回購。另外需要pull -r
行(每個頭一個)來拉動其他非線性歷史。 - 與
hg convert
解決方案每個修改後的變更集及其所有後代的哈希碼將被修改。
永遠不要將重要的東西存儲在USB存儲器上。這是一個很快就放棄所有代碼的邀請!購買一塊外部硬盤,並有足夠的空間和至少2個獨立的磁盤,您可以鏡像。將它永久存放在某個地方,不要隨身攜帶。如果您需要從其他地方訪問 - 請使用安全的互聯網連接遠程訪問您的硬盤。
在我的設置中,我至少有2個副本:一個在我的電腦的硬盤上,另一個在USB記憶棒上。其中每個都可以作爲備份。我覺得這是足夠的。 – 2010-07-20 10:24:11
代碼是你的(也是選擇):)我經歷了一個電峯,它燒燬了我的電腦,包括內部硬盤,以及USB端口上連接的所有東西,包括一個USB記憶棒...... – 2010-07-20 15:52:30
如果它把所有連接到USB端口的東西炸掉,是不是也會殺死你的外部硬盤?我個人建議在BitBucket這樣的「雲」服務上保留一個遠程存儲庫。 – StriplingWarrior 2014-09-04 03:28:38
如果提交非常意外,您可以使用大文件回滾上次提交。 見
hg help rollback
當然,這個,如果你犯在此期間頂部其他重要的東西不起作用。 另一種方法是使用strip刪除包含大文件的整個分支。
要小心,在您執行任何這些操作之前,請確保您瞭解自己在做什麼!首先在測試存儲庫或克隆上測試命令。
- 1. 共享Mercurial存儲庫,同時保持用戶隱私
- 2. 如何將現有的Mercurial存儲庫轉換爲使用子存儲庫並保持歷史記錄不變?
- 3. 如何全文索引Mercurial存儲庫?
- 4. 如何清理Mercurial存儲庫?
- 5. 如何從mercurial存儲庫檢出OpenJDK?
- 6. 如何找出mercurial存儲庫的大小?
- 7. FTP上的Mercurial存儲庫
- 8. Mercurial分佈式存儲庫
- 9. 「零」一個mercurial存儲庫
- 10. Clone Mercurial存儲庫到public_html
- 11. 優化Mercurial存儲庫
- 12. Mercurial提交新存儲庫
- 13. 更改爲mercurial存儲庫
- 14. 移動Mercurial存儲庫
- 15. Mercurial儲存庫架構
- 16. 如何讓本地heroku存儲庫與遠程存儲庫保持同步?
- 17. 如何保持存儲庫在MVC應用程序存活
- 18. 將實驗記錄保存在Mercurial的共享存儲庫中
- 19. Mercurial存儲庫損壞修復說它不是一個mercurial存儲庫?
- 20. 一個Mercurial存儲庫能否位於另一個Mercurial存儲庫中?
- 21. 正確(最佳實踐?)過程與遠程Mercurial存儲庫保持同步?
- 22. 如何使用Mercurial將存儲庫克隆到遠程服務器/存儲庫
- 23. 如何鏡像一個github存儲庫,同時保持我的小變化?
- 24. 具有bitbucket子庫的Mercurial存儲庫 - 如何防止推送
- 25. 克隆到外部存儲庫的mercurial存儲庫
- 26. 如何使用mercurial擴展來存儲持久數據?
- 27. 如何保持項目存儲庫以及源代碼更新?
- 28. Git - 如何保持已更新的存儲庫
- 29. 如何檢查軟件是否與存儲庫保持同步?
- 30. 如何讓兩個git存儲庫保持同步?
--filemap技巧聽起來像我所需要的。雖然有點麻煩,但在特殊情況下這應該是必要的。非常感謝! – 2010-07-20 14:56:44