2011-06-01 60 views
8

我是新來的Mercurial和版本控制一般,所以我敢肯定這是一個非常基本的問題,但我還沒有找到答案。我可以將我的Mercurial工作目錄移至其他位置嗎?

我正在研究一個在Mercurial版本控制下的小項目。該項目和.hg存儲庫當前位於本地驅動器(C:\ MyProject.hg)中,但是我想將整個存儲區移動到每晚備份的另一個位置(在本例中爲網絡驅動器)。我想要這個新的位置成爲我的工作目錄。

我的問題是,我可以簡單地將MyProject目錄(因此.hg存儲庫)複製到新的位置,並使其一切工作,因爲它在我的本地驅動器上?或者通過Mercurial命令(例如克隆)執行此操作,以便Mercurial知道位置變化?

回答

10

您可以執行該文件夾的正常副本,但是如果您打算繼續使用本地版本,則應該使用hg clone進行復制,以便您可以執行hg pullhg push以同步版本。如果你不使用hg clone,你仍然可以推拉,但它使它更容易一些。

4

可以完全移動您的本地版本到網絡驅動器,並使您的新「本地」版本。你做不是必須讓mercurial知道它的父(項目)目錄正在被移動。

然而,作爲另一個答案提到,可能會有利於保持您的項目在本地,並通過在本地計算機上克隆本地計算機上的網絡驅動器創建另一個存儲庫(沒有工作目錄)聯網的驅動器。這樣,您可以在本地保留自己的存儲庫,而不必更改任何內容,同時也可以在網絡驅動器上備份您的存儲庫。您可以在您的計算機(推送)或網絡計算機上(拉)設置夜間cron作業,以便它們保持同步。

3

最簡單的選擇就是將該文件夾移動到您的網絡驅動器。在您的克隆工作目錄中,只需更新.hg/hgrc文件中找到的路徑(位於.hg /文件夾中(如果不清楚的話)。在您的克隆的repo中,您將看到類似這樣的默認路徑...

 
[paths] 
default = c:\MyProject 

這條道路應該改爲您的新位置。另外,如果有另一種路徑,你可以添加其他像這樣...

 
[paths] 
default = c:\MyProject 
Bitbucket = https://[email protected]/MyProject 
+0

感謝您的回答你們。這是因爲我懷疑,我可以只是複製目錄。另外,我並不知道需要更新默認路徑,所以感謝andy9d! – gregorE 2011-06-02 07:37:56

+0

更新:我剛纔在.hg文件夾中搜索.hg/hgrc文件,我似乎沒有它。這個文件可以存儲在其他位置嗎? – gregorE 2011-06-02 08:27:47

+0

如果該文件不存在,請創建它。當您克隆存儲庫時,會爲您創建並添加默認路徑,但默認情況下它不會在新的存儲庫中存在。此外,+1提及hgrc文件中的路徑項...我經常使用它來設置新的推送目的地。 – icabod 2011-06-02 10:56:47

相關問題