当我处理一个项目时,我有这个想法,这个项目通过一个Web软件包提供给许多客户,并且每个客户端都可能有一些新的更改请求,所以我将不得不使用一个repo(或分支) )对于一个客户端,所以我可以继续更新它自己的请求。然后,只要有越来越多的客户,我将不得不保留尽可能多的副本,它会变得筋疲力尽......
它们是软件中的两种类型的更改,一种是系统错误,将在所有副本中修复,一种是来自不同客户端的每个请求的更改,并且应仅针对其副本进行更新。
我正在使用Win-merge来比较每个副本与基本副本之间的差异,当我尝试更新系统错误修复时,我在想是否可以这样做:
所以每次如果在基本代码中发现错误,我只需要修复错误,所有代码也会更新,如果错误是在一个已更改的文件中,仅针对特定客户端,我将有做Win-merge,但仍然会节省时间..
我想知道这是否能够在某些VCS中实现,比如git或SVN?或者通过合并以及我们目前拥有的VCS的任何功能,对于这种情况是否有更好的解决方案?
答案 0 :(得分:0)
您可以使用具有主分支的git作为主代码,然后使用每个客户端的子分支。
进入每个客户端分支进行一次性更改并将其保持分开。
然后对于大变化进入一个开发分支来测试并完成你的代码QA将开发分支合并到master中然后你可以创建一个git命令别名来运行所有
git checkout ClientBranch1&& git merge master&& git push git checkout ClientBranch2&& git merge master&& git push ...
答案 1 :(得分:0)
您可以使用Subversion将thunk作为主要代码(或主要不稳定代码的特殊分支和常见QA&#的主干),然后为每个客户端分支 ...
您可以通过两种方式使用Mercurial: