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

Version control 分支基础教程(Mercurial-Windows的具体说明),version-control,mercurial,branch,Version Control,Mercurial,Branch,我对版本控制业务非常陌生,正在慢慢学习我的方法。我已经学习了如何创建存储库并向其提交更改。现在的情况是(我认为版本控制是完美的,尽管我不确定最佳实践是什么): 我有软件A。它是通用的 我需要修改公司B的代码库中的2个文件。这将使其成为软件B 这是我唯一需要做的改变;在那之后,我只想继续在A上工作,就好像软件B从未存在过一样 这样做的最佳方式是什么?只是导出软件A,修改它并将其发送到客户端?在存储库中工作、提交,然后“退出”?我试着用一根根又一根的树枝来推敲,但要么我太笨了,没法让它工作,要么它坏

我对版本控制业务非常陌生,正在慢慢学习我的方法。我已经学习了如何创建存储库并向其提交更改。现在的情况是(我认为版本控制是完美的,尽管我不确定最佳实践是什么):

我有软件A。它是通用的

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

这是我唯一需要做的改变;在那之后,我只想继续在A上工作,就好像软件B从未存在过一样

这样做的最佳方式是什么?只是导出软件A,修改它并将其发送到客户端?在存储库中工作、提交,然后“退出”?我试着用一根根又一根的树枝来推敲,但要么我太笨了,没法让它工作,要么它坏了(我一直在说“头已经闭上了”之类的话)


任何有关这方面的指南都会很有帮助——我真的强调,尽管这可能很烦人,但我想从Win7上的tortoise GUI而不是命令行获得帮助。

我认为最好是为您的更改创建一个命名分支。如果以后需要对B客户机进行一些更改,那么它将更加灵活。要做到这一点,可以执行以下步骤:

  • 在存储库上创建新分支。如果需要,这个问题应该有帮助:
  • 做你需要做的改变
  • 在新的命名分支中提交它们
  • 切换回默认分支
  • 忘记之前创建的分支(如果需要,也可以关闭它)
  • 以下链接可以帮助您:


  • 嗯。您可以并且真正使用Mercurial分支,每个客户端至少增加一个分支

    • 不要关闭客户的分支机构
    • 使用不同的名称
    我需要修改公司B的代码库中的2个文件。这将使其成为软件B

    • 编辑文件,保存更改

    • 启动提交过程,即在提交窗格中单击“分支:默认”文本(其工作原理与按钮类似),并在此表单中选择第二个选项“打开新命名分支”,选择分支名称,然后按OK。这将有效地更改此(尚未完成)提交的分支

    • 输入提交消息,按提交按钮(见快照2右上角),确认创建新分支
    • 提交后,工作台窗口将向您显示另一个提交,修订版1(在我的示例中)来自不同的分支客户1(“分支”列内容和变更集“说明”中的绿色标签),修订版0仍处于默认状态,我们处于活动修订版1中

    • 当需要返回主线时-在变更集列表中单击需要的(默认分支中最新的?)变更集,并从conext菜单中“更新”-我们将我们的WC镜像恢复到某个先前状态的点更改为(通过文件内容验证检查)

    • 修复基本代码,提交而不接触选项

    • 如果我们更改了客户的版本-更新至其分支机构的最新cset

    编辑并提交


    我有点困惑。。。您的标题提到Mercurial,但问题是关于SVN,是哪一个?抱歉,已修复。我使用SVN作为版本控制系统的同义词。哎哟,使用命令行,你会更有保护性。hg branch SoftwareB hg commit-m“更改客户端B”hg up defaultYou必须阅读Steve Losh关于不同分支策略的文章-命名分支只是3种方法中的一种(主要提到的)方法“切换回”,您的意思是只做一般性更改,然后再次将分支更改为默认,然后单击“提交”?没有理由“关闭分支”,对吗?提交更改后,必须将分支更改为默认。看看提供的第一个链接,它用截图显示了所有内容。没有真正的理由关闭分支,这只是一个“美学”的东西在另一个长篇大论中合并分支(没有我,请)。这很好,截图也很完美。谢谢你的努力!