使用版本控制使多个代码分支保持最新

时间:2012-02-01 14:37:13

标签: svn version-control mercurial branch dvcs

我希望有人能够帮助我更好地理解这种情况下的版本控制。目前我们正在考虑实施VisualSVN或Mercurial,但希望首先考虑我们的战略。

我是一个双人开发团队的一员,致力于移植和维护定制的CMS系统。我们希望保持一个“稳定”的分支,每个分支都有我们自己的开发分支。

我们不确定每个客户是否需要自己的定制(模板,样式表等)。我希望这些是稳定的分支。理想情况下,我们想要一种方法来确保对稳定所做的任何更改(例如将dev分支合并或添加热修复)推送到客户分支。

  • 有没有办法确保这些客户分支始终自动转到最新的变更集?

  • 我们可以选择在初始分支操作后将某些文件(例如* .css)排除在推送到客户端分支之外吗?

看着这个,你就可以进入每个客户分支并从稳定中抽出来,合并最新的变化。如果我们最终有很多客户分支机构,有没有更好的方法呢?

我发现了一些似乎提供了很好建议的问题

道歉,如果我向后退一步,但所有的建议都会受到赞赏。

1 个答案:

答案 0 :(得分:3)

  
      
  • 有没有办法确保这些客户分支始终自动转到最新的变更集?
  •   

你这样做是通过去分支,从稳定和合并中拉出来的。

  
      
  • 我们可以选择在初始分支操作后将某些文件(例如* .css)排除在推送到客户端分支之外吗?
  •   

不,合并时不排除这样的文件。您应该构建文件,以便拥有一个基本文件 - 称之为base.css - 然后您拥有client.css这是附加样式表。这样,您可以根据需要覆盖base.cssclient.css的内容,当您与稳定分支合并时,您将获得最新版本的base.css

您经常可以将同一系统用于需要基于每个客户端进行更改的其他文件:配置文件和主题。

  

看着这个,你就可以进入每个客户分支并从稳定中抽出来,合并最新的变化。如果我们最终有很多客户分支机构,有没有更好的方法呢?

不,这就是它的工作方式。你当然可以编写脚本来使自己更方便,并降低出错的风险。