分支基础教程(Mercurial的具体说明--Windows)

dam*_*ing 2 version-control mercurial branch

非常新的这个版本控制的业务和慢慢学习我的方式.我已经学会了如何创建存储库并提交更改.现在的故事(我认为版本控制是完美的,虽然我不确定最佳实践)是这样的:

我有软件A.它是通用的.

我需要在公司B的代码库中修改2个文件.这将使其成为软件B.

这是我需要做的唯一改变; 之后我只想继续研究A,好像软件B从未存在过一样.

这样做的最佳方式是什么?只是导出软件A,修改它并将其发送到客户端?在存储库中工作,提交,然后"退出"?我已经尝试用近距离分支和分支进行捏造,但要么我太笨了,不能让它工作或者它被破坏(我一直得到"HEAD ALREADY CLOSED"或其他东西).

任何关于这个教程的指针都会有所帮助 - 我真的很强调,尽管它很烦人,但我还是想在Win7的龟龟GUI中帮忙解决这个问题,而不是命令行.

Laz*_*ger 6

好.你可以和已经真正使用水银分支,每个客户至少一个额外的分支

  • 不要关闭客户分支机构
  • 使用独特的名称

我需要在公司B的代码库中修改2个文件.这将使其成为软件B.

  • 编辑文件,保存更改.

射击1  - 分支前

  • 启动提交过程,即在提交窗格中单击"分支:默认"文本(实际上像按钮一样工作)并在此表单中选择第二个选项"打开新命名分支",选择分支名称,按确定.这有效地改变了这个(仍未完成的)提交的分支

NewBranch正在进行中

  • 输入提交消息,按提交按钮(参见Shot2的右上),确认创建新分支
  • 在commit workbench窗口之后会再显示一次提交,而修订版1(在我的示例中)来自不同的分支Cust1("分支"列内容和变更集中的绿色标签"描述"),修订版0仍处于默认状态,我们处于活动状态修订版1

我们分支代码

  • 当需要返回主线时 - 在变更集列表中点击所需的(最新的默认分支?)变更集和从conext-menu中的"更新" - 我们 WC镜像仓库中的点更改某个先前的状态(由文件内容验证)

已更新为较旧的CSet

  • 修复基本代码,提交时不触及选项

两个活跃的分支

  • 如果我们更改了客户的版本 - 更新到他的分支中的最新cset

更新到分支

编辑和提交

承诺分支