Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 7 TortoiseHg更改默认.hg文件夹位置_Windows 7_Mercurial_Tortoisehg - Fatal编程技术网

Windows 7 TortoiseHg更改默认.hg文件夹位置

Windows 7 TortoiseHg更改默认.hg文件夹位置,windows-7,mercurial,tortoisehg,Windows 7,Mercurial,Tortoisehg,是否建议将默认的.hg文件夹位置更改为中心位置?而不是将.hg文件夹存储在工作目录下。因为我意外地删除了工作目录并丢失了所有提交历史记录 有没有办法更改Ortoisehg中默认的.hg文件夹位置 或者有没有关于支持回购协议的建议?如何更改?AFAIK,无法更改.hg文件夹的位置。.hg文件夹的存在表示给定文件夹是一个hg存储库。 即使可以将.hg文件夹本身移动到另一个位置,您的实际.hg文件夹所在的工作文件夹中也必须有一些信息。因此,如果您不小心删除了您的工作文件夹,您也会丢失到real.hg文

是否建议将默认的.hg文件夹位置更改为中心位置?而不是将.hg文件夹存储在工作目录下。因为我意外地删除了工作目录并丢失了所有提交历史记录

有没有办法更改Ortoisehg中默认的.hg文件夹位置


或者有没有关于支持回购协议的建议?如何更改?

AFAIK,无法更改.hg文件夹的位置。.hg文件夹的存在表示给定文件夹是一个hg存储库。
即使可以将.hg文件夹本身移动到另一个位置,您的实际.hg文件夹所在的工作文件夹中也必须有一些信息。因此,如果您不小心删除了您的工作文件夹,您也会丢失到real.hg文件夹的路径。同样的问题:-)

在HG等分布式版本控制系统中,备份回购协议很容易。

在某个地方进行克隆(在网络中定期备份的服务器上,或者如果您在家,请使用帐户),并定期推送到该位置。

AFAIK,更改.hg文件夹的位置是不可能的。.hg文件夹的存在表示给定文件夹是一个hg存储库。
即使可以将.hg文件夹本身移动到另一个位置,您的实际.hg文件夹所在的工作文件夹中也必须有一些信息。因此,如果您不小心删除了您的工作文件夹,您也会丢失到real.hg文件夹的路径。同样的问题:-)

在HG等分布式版本控制系统中,备份回购协议很容易。

在某个地方进行克隆(在网络中定期备份的服务器上,或者如果您在家,请使用帐户)并定期推送到它。

我可以想出两种可能的解决方案,一种是我推荐的,另一种是我不推荐的

我不推荐的解决方案依赖于具有硬链接的文件系统。创建新项目时,可以将.hg目录移动到文件系统上的其他位置,并在工作目录中设置指向该目录的硬链接。然后在文件系统上有两个对同一.hg目录的引用,因此如果删除一个,它仍然存在

我在游戏PC上也做过类似的事情,将所有的savegames存储在单个\savegame目录的子目录中

然而,一个更好的解决方案,我绝对推荐如下:

拥有一个目录(例如
C:\HG
),其中包含所有“基本”存储库。这些不是工作存储库,并且除了“null”之外没有工作目录。创建新项目时,第一步是在此基础区域中创建一个新的空存储库:

hg init C:\HG\myNewProject
现在,除了备份存储库(我使用SkyDrive)之外,您无需触摸该存储库

然后在完成所有工作的地方,创建该存储库的克隆:

cd C:\WhereIWork\Projects
hg clone C:\HG\myNewProject myNewProject
创建克隆会自动在您的工作存储库和
C:\HG
中的存储库之间创建链接:您所做的任何工作都应该定期提交和推送


这就是你的备份,除非你无意中删除了你的工作目录并需要重新克隆,否则你永远不需要使用它。

我可以想出两种可能的解决方案,一种是我推荐的,另一种是我不推荐的

我不推荐的解决方案依赖于具有硬链接的文件系统。创建新项目时,可以将.hg目录移动到文件系统上的其他位置,并在工作目录中设置指向该目录的硬链接。然后在文件系统上有两个对同一.hg目录的引用,因此如果删除一个,它仍然存在

我在游戏PC上也做过类似的事情,将所有的savegames存储在单个\savegame目录的子目录中

然而,一个更好的解决方案,我绝对推荐如下:

拥有一个目录(例如
C:\HG
),其中包含所有“基本”存储库。这些不是工作存储库,并且除了“null”之外没有工作目录。创建新项目时,第一步是在此基础区域中创建一个新的空存储库:

hg init C:\HG\myNewProject
现在,除了备份存储库(我使用SkyDrive)之外,您无需触摸该存储库

然后在完成所有工作的地方,创建该存储库的克隆:

cd C:\WhereIWork\Projects
hg clone C:\HG\myNewProject myNewProject
创建克隆会自动在您的工作存储库和
C:\HG
中的存储库之间创建链接:您所做的任何工作都应该定期提交和推送


这是一个备份,除非您意外删除了工作目录并需要重新克隆,否则您永远不需要接触它。

这是正确的,.hg文件夹跟在工作目录后面,反之亦然,您不能将两者分开。这是正确的,.hg文件夹跟在工作目录后面,反之亦然,您不能将两者分开。您还可以执行
hg up null
以清除工作目录而不是删除。您还可以执行
hg up null
以清除工作目录而不是删除。