我的中央存儲庫存儲在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. FTP上的Mercurial存儲庫
- 7. 移動Mercurial存儲庫
- 8. Mercurial儲存庫架構
- 9. 更改爲mercurial存儲庫
- 10. 「零」一個mercurial存儲庫
- 11. 如何讓本地heroku存儲庫與遠程存儲庫保持同步?
- 12. 如何保持存儲庫在MVC應用程序存活
- 13. 將實驗記錄保存在Mercurial的共享存儲庫中
- 14. 正確(最佳實踐?)過程與遠程Mercurial存儲庫保持同步?
- 15. 一個Mercurial存儲庫能否位於另一個Mercurial存儲庫中?
- 16. 如何使用Mercurial將存儲庫克隆到遠程服務器/存儲庫
- 17. 如何檢查軟件是否與存儲庫保持同步?
- 18. Git - 如何保持已更新的存儲庫
- 19. 刪除變更集或縮小Mercurial存儲庫
- 20. 如何設置netbeans以推送到受密碼保護的mercurial存儲庫?
- 21. 同步Mercurial存儲庫的集合
- 22. Mercurial中的存儲庫瀏覽器
- 23. Mercurial hook precommit獲取存儲庫路徑
- 24. Mercurial - abort:無法鎖定存儲庫
- 25. 推送到遠程Mercurial存儲庫
- 26. 我可以拆分Mercurial存儲庫嗎?
- 27. 移動本地Mercurial存儲庫到Bitbucket
- 28. 還原buildserver上的Mercurial存儲庫
- 29. 解壓縮Mercurial存儲庫文件
- 30. Mercurial本地存儲庫備份
--filemap技巧聽起來像我所需要的。雖然有點麻煩,但在特殊情況下這應該是必要的。非常感謝! – 2010-07-20 14:56:44