【发布时间】:2011-05-31 15:23:08
【问题描述】:
我们有一个包含三个命名分支的存储库,我想克隆其中一个分支。是否有一个善变的命令来做到这一点?如果我使用 hg clone 提供(分支的)路径,我会收到 404 错误。
【问题讨论】:
我们有一个包含三个命名分支的存储库,我想克隆其中一个分支。是否有一个善变的命令来做到这一点?如果我使用 hg clone 提供(分支的)路径,我会收到 404 错误。
【问题讨论】:
我正在使用 Mercurial-4.0.2。我们可以通过在克隆 url 中附加带有 # 符号的分支名称来指定分支名称。
例如
hg clone https://user@cloneurl/my_product#MY_BRANCH
hg clone --verbose https://user@cloneurl/my_product#MY_BRANCH "C:\myCode"
【讨论】:
hg clone <URL> -b BRANCHNAME 按要求克隆单个分支
【讨论】:
我知道这篇文章很老了,但我也有同样的问题。我发现了这个技巧:
hg clone /path/to/your/repo -r 0
hg pull -u -b branchname
【讨论】:
本杰明是对的。但这真的是你想做的吗?特别是,您只会获得构成该分支所需的变更集,而不会获得其他任何东西 - 例如,这会阻止您从主干或其他分支中提取变更集。您最好克隆整个存储库,然后在您感兴趣的分支中工作;这将使您的存储库与您更轻松地从中提取的存储库保持同步。
【讨论】:
hg pull 时,您实际上是在使用上游记录的更改更新您的存储库;当您hg push 时,您正在推动您的更改。 hg update 所做的只是使目录中的文件反映存储库的状态,无论是修订版、分支标签还是您选择的任何内容。
hg clone http://your/repo -r branchname 应该可以解决问题。
【讨论】: