使用hg在我的两台计算机之间同步我的项目

时间:2010-04-01 09:00:53

标签: mercurial

我有两台电脑:我公司的台式机和家里的便携式电脑。

现在我想使用hg使用“USB可移动磁盘”在它们之间同步项目。

所以我想知道如何实现它?

我桌面上的专业人士是:D:\ work \ mypro。

我使用以下命令来启动它:

hg init

然后我连接到卷标为“H”的USB磁盘,并使用以下命令获取克隆:

cd H:
hg init
hg clone D:\work\mypro mypro-usb

我使用的便携式计算机中使用了:

cd D:
hg clone H:\mypro-usb mypro-home

但是我不知道如果我在mypro-home中修改一些文件(删除或添加和修改)怎么办,如何使mypro-usb同步更改,同时我也希望桌面上的mypro同步。 / p>

怎么做?

---------------在我从richj得到答案后添加以下内容----------------

到richj:

感谢您的回复。

以下是我的做法:Pro-Com是我桌面上的项目(初始化为存储库),Pro-USB是我USB中的存储库,Pro-Home是我家用电脑中的存储库。

当我在Pro-Com中进行一些更改时,我使用以下命令:

hg add
hg push Pro-USB

然后我使用以下命令将目录更改为Pro-USB;

hg update
hg push Pro-Home

在我的家用电脑上运行:

hg update
(make some edition)
hg commit
hg push Pro-USB

然后USB中的存储库与家用电脑的存储库相同,我可以将其推送到我的桌面。

在我看来,存储库之间的操作可以通过“hg push”和“hg pull”完成,其他命令如“hg update”“hg import”只能在工作副本和它的存储库之间工作。

我的理解是对的吗?

1 个答案:

答案 0 :(得分:8)

将工作存储库中的更改推送回USB驱动器:

hg push

要从USB驱动器获取最新更改:

hg pull
hg update

这两个命令可以像这样组合在一起:

hg pull -u

如果您想查看可以推送或拉出哪些更改集,请使用:

hg outgoing
hg incoming

分别。必须使用以下命令将对本地文件系统所做的任何更改提交到存储库:

hg commit

在推或拉之前。