所以我在我的一个项目中使用mercurial,我是唯一的开发人员。我通常在实际开发中使用默认分支,在新功能上使用一些短期分支,这很好:我创建它们,编写新功能,如果它运行得足够好,我将该分支合并到默认分支中,并且不再使用它。但是我想在不同的分支中编写文档,因为我真的不想用文档提交"污染"默认分支。
在我为我在默认分支中拥有的东西编写了足够的文档之后,我将docs
分支合并到主分支中。但是过了一段时间,我想再次使用docs
分支,我必须从主分支中拉出更改,或者创建另一个新分支。
处理这种情况的最佳工作流程是什么?我的方法完全错了吗?
将文档放在源代码管理中有点奇怪。如果文档是二进制文件(.doc/.docx/.xlsx), Hg将无法合并它们。如果您存储的是。html、。xml或一些纯文本格式,那么它会做得稍好一些。有一些开源系统允许您使用Hg并提供单独的文档管理(例如Redmine)
假设你刚刚合并了docs
到default
,你可以继续使用docs
分支,这样做:
> hg update docs # update to the docs branch
> hg merge default # merge default into docs branch
(do some work)
> hg commit -m "adding new things to docs branch"
(merge into default when ready)
通过将default
合并到docs
中,您可以确保docs
具有default
上存在的所有更改。在docs
上执行后续提交将有效地允许您继续在该分支上工作。另一种说法是,在Hg中合并是有方向性的——如果你想让docs
与default
同步,你必须显式地执行合并。
要从合并到原始docs分支的子分支开始再次使用docs分支,只需将工作副本更改到分支并提交。
如果你在docs分支上做了修改,那么你需要在提交之前进行合并。