我来自CVS背景。
我尝试通过克隆来执行分支。
当前默认树在hello
项目中看起来像这样。
我希望看到分支,但我没有。
这一次,我尝试了另一种方式。
这一次,只有我能看到分支
通过应用克隆技术,我是否可以拥有分支视图,而无需显式修改默认存储库(hello
)
答案 0 :(得分:1)
没有分叉,因为没有两个变更集共享父级。
克隆的存储库在任何方面都不是特殊的。它与原版相同。提交它与原始回购中的提交相同。它们在概念上没有被标记为在分支上。克隆只是一个很好的方式,有另一个工作区,你可以做一些工作(包括提交),而不会影响原始。
当两个或多个提交具有相同的父级时,会发生分叉。通常在使用克隆时会发生这种情况,但事实并非如此。如果同一个父级只有一个变更集,则没有分叉。
在你的第一个序列之后,你只引入了一个变换集(4),它有旧的尖端(3)作为它的父级,所以它仍然是一条直线。只有当您引入第(3)个父级的第二个变更集时,才会看到一个分叉。
现在请记住,即使您'推送变更集,并且原始的“Hello”仓库包含所有4个变更集,它的工作目录仍然指向变更集(3)。它将保持这种状态,直到你在其中运行'hg update'。这意味着如果你要在“Hello”中进行提交,它将基于(3),然后会出现一个fork。提交此提交无关紧要。
这就是你在第二个序列中所做的。
希望有所帮助。
我试图在这里使用术语'fork',因为'branch'有很多含义,包括'hg branch'命令,它会做一些稍微不同的事情。