2012-07-09 92 views
2

換句話說,是否有一種方法可以將hg存儲庫恢復到您首次對外部存儲庫執行hg克隆時存在的狀態,並且在執行pull之前?有沒有辦法刪除所有本地變更以節省空間?

我試圖節省FTP服務器虛擬機和hg存儲庫存在其他地方的空間,所以沒有理由轉移它們。我想以這樣的方式設置服務器,所有必須在另一端完成的操作是hg pull,hg update,並且它已準備好再次運行。

回答

1

這聽起來像你想克隆到最低限度,並仍然從原始存儲庫恢復。爲什麼不直接刪除本地拷貝,只保留一個克隆路徑的列表來重新獲取它們呢?

否則(假設你推你想保留任何東西)使用strip命令從MercurialQueues擴展就可以消除一個克隆的所有本地歷史與hg strip 0 --no-backuphg pull把它都回來了。

0

不,不是在一個單一的mercurial命令。一旦你運行了hg pull,mercurial並沒有記錄下該狀態。但是,如果您記錄克隆時變更集的內容(例如,只需將其寫入一些未跟蹤的文件),則可以非常有效地去除所有不需要的變更集。請參閱Mercurial: removing changesets

0

如果您尚未提交或運行任何其他更改自上次提取後庫的內部狀態的命令,則可以運行hg rollback

相關問題