我可以将Mercurial工作目录移动到其他位置吗?

时间:2011-06-01 15:11:14

标签: version-control mercurial

我是Mercurial和版本控制的新手,所以我确信这是一个非常基本的问题,但我还没有找到答案。

我正在开发一个受Mercurial版本控制的小项目。项目和.hg存储库当前位于我的本地驱动器(C:\ MyProject.hg)上,但是我想将整个批次移动到每晚备份的另一个位置(在本例中为网络驱动器)。我希望这个新位置成为我的工作目录。

我的问题是,我可以简单地将MyProject目录(以及.hg存储库)复制到新位置,并让一切都像我在本地驱动器上那样工作吗?或者通过Mercurial命令(例如克隆)这样做,以便Mercurial知道位置的变化?

3 个答案:

答案 0 :(得分:10)

您可以正常复制该文件夹,但如果您打算继续使用本地版本,则应使用hg clone制作副本,这样您就可以hg pull或{{ 1}}同步版本。如果你不使用hg push,你仍然可以推拉,但它会让它变得更容易。

答案 1 :(得分:4)

可以将您的本地版本完全移动到网络驱动器,并将其作为新的“本地”版本。你必须让mercurial知道它的父(项目)目录正被移动。

然而,正如另一个答案所提到的,将本地项目保留在本地,并在网络驱动器上创建另一个存储库(没有工作目录的存储库)可能对您有利,方法是将本地计算机上的存储库克隆到网络驱动器。这样,您可以在本地保留自己的存储库,而不必更改任何内容,同时还可以在网络驱动器上备份存储库。您可以在您的计算机(推送)或网络计算机(拉)上设置夜间cron作业,以便它们保持同步。

答案 2 :(得分:3)

最简单的选择是将该文件夹移动到您的网络驱动器。在克隆的工作目录上,只需更新.hg / hgrc文件中的路径(位于.hg /文件夹中,如果不清楚的话。在克隆的仓库中,您将看到这样的默认路径......

[paths]
default = c:\MyProject

该路径应更改为新位置。如果还有另一条路径,你可以像这样添加另一条路径......

[paths]
default = c:\MyProject
Bitbucket = https://user@bitbucket.org/MyProject