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
Mercurial 汞支推_Mercurial - Fatal编程技术网

Mercurial 汞支推

Mercurial 汞支推,mercurial,Mercurial,你好 我有一个使用Mercurial Hg开发的示例项目。这是一个示例项目,位于: C:\Development\Serivce 默认分支指向此位置。我在同一个位置创建了一个名为TestBranch的命名分支。我对默认值做了一些更改,希望将这些更改推到TestBranch,以熟悉Mercurial如何进行分支 当我使用“hg checkout default”切换到默认分支时,我尝试执行该命令 “hg push TestBranch”和我收到了以下输出: C:\Development\Servi

你好

我有一个使用Mercurial Hg开发的示例项目。这是一个示例项目,位于:

C:\Development\Serivce

默认分支指向此位置。我在同一个位置创建了一个名为TestBranch的命名分支。我对默认值做了一些更改,希望将这些更改推到TestBranch,以熟悉Mercurial如何进行分支

当我使用“hg checkout default”切换到默认分支时,我尝试执行该命令 “hg push TestBranch”和我收到了以下输出:

C:\Development\Service>hg push TestBranch
pushing to C:\Development\Service
waiting for lock on repository C:\Development\Service held by 'dev-pc:4124'
interrupted!
C:\Development\Service>一分钟后我按了Ctrl-C

问题是如何将我的更改从默认推送到TestBranch


我正在学习更多有关Mercurial分支的各种方法。一些开发人员不喜欢命名分支方法,因为它不是短期项目的最佳实践。这将是一个正在进行的项目。幸运的是,这个示例项目驻留在我的本地机器上,不会影响我团队的其他成员。

hg push TestBranch并没有达到您期望的效果。它不是推送一个分支,而是推送到repo
TestBranch
,它肯定不存在

仅推送TestBranch的命令如下:

hg push -b TestBranch
然而,发布一个简单的
hg推送
也可以。如果没有
-b TestBranch
(或
-r TestBranch
),您将推送远程回购上不存在的所有变更集,包括您创建的分支

现在,对于你的锁,你实际上是在推动你发起推动的同一个回购协议。这肯定会导致僵局

C:\Development\Service>hg push TestBranch
pushing to C:\Development\Service
相反,如果您正在进行测试,请在您的PC上的其他位置创建您的回购协议的克隆并推送到它

hg push -b TestBranch c:\Development\Service-clone

当我进入[hg push-b TestBranch]时,我仍然会收到等待锁定存储库的消息,如我最初的问题中所述。因为这似乎是一个不同的问题,一旦我找到了解决方法,我会回过头来,如果它有效的话,我会标记它。@coson下面的问题是,你在推动同一个回购协议,而不是不同的回购协议;你肯定陷入了僵局。。。创建一个你的回购协议的克隆并推到它,这将更容易!好的,看来我需要复习一下我的阅读。当然,分支是针对不同的开发状态的,无论是针对功能还是修复。Mercurial的强大功能还在于这些分支的合并,允许您同时与协作者协作,而不会因为锁定的文件或同一代码区域中的更改而影响彼此。