说我克隆了一个远程存储库并将其称为" A"
然后我克隆了另一个远程存储库并将其命名为" B"
" B" 包含.hg
文件夹和src
文件夹,以及" A" 只有.hg
文件夹。
如果我将更改从" B" 更改为" A" ,现在应该" A& #34; 还包含src
文件夹?因为那正是我所做的,而且没有
答案 0 :(得分:0)
您混合了'存储库'的概念。使用工作目录,实际签出的变更集,它指示特定版本的存储库状态。
如果两个存储库 A 和 B 被拉入一个存储库,则所有更改集都存在于那里,但它们存在于不同的更改集中。如果要将它们组合在一起,则必须合并两个变更集;很可能你想要合并你拥有的两个头,一个来自存储库 A ,另一个来自存储库 B 。例如:
# check heads:
hg heads --template="{rev}:{node|short} {desc}\n"
2332:d69c8aaf6db6 Doc: Changelog as it should have been
2128:6f38df710194 Added tag 0.2.5 for changeset 6d89bb9ad3f6
更新到一个头然后合并另一个头。请务必使用实际修订版:
hg up -r2332
hg merge -r2128
是否有效且没有任何冲突取决于 A 和 B 的外观。
答案 1 :(得分:0)
src
是否包含任何文件?您无法将空目录添加到mercurial仓库。如果您尝试hg add src
并且src
为空,则不会出现错误,但没有任何反应。如果这真的是你想要的,there are ways,但听起来你只是在尝试。
更具体地说:您只能添加文件,并且隐式添加包含它们的目录。在src
中创建文件后,add
将文件添加到repo并commit
更改(以及您可能想要带来的任何其他内容)。现在您有一个变更集可以推送或拉到存储库“B”。
一旦变更集成为“B”的历史记录的一部分(请与hg log
核对),您需要更新到它(hg update
);或者,如果您最终得到了一个分支,请将其合并到您当前的分支。