我最近继承了一个没有版本控制的ASP.Net Web窗体项目,我试图将它移入TFS。在某个时候,项目被拆分为一个客户端的定制版本,其中登录使用ADFS而不是我们的数据库驱动的表单。拆分后,一些功能被添加到主版本中以管理用户;这些在自定义版本中不需要。对一个版本的任何更改都会被手动应用到另一个版本(如果它们影响到非定制部件的话)(尽管可以预见,这有时会被遗忘)。TFS分支的自定义版本,排除这些自定义从合并?
每个版本有开发和生产服务器上的文件夹,这样的文件夹结构是这样的:
/Production/General
/Production/Custom
/Dev/General
/Dev/Custom
假定这将是困难的两个版本,功能切换完全合并,什么是最好的方法来管理这个?
我在想我可以使用差异来拉出生产版本的共同点,并使我的主要分支。然后,我可以从主让两个生产版本分支,有其当前的状态作为第一个办理登机手续,然后做类似的事情在开发文件夹,如:
- MAIN
| |- General
| |- GeneralDev
|
|- Custom
|- CustomDev
但是,我不知道如何管理合并。有没有办法阻止某些文件仅在特定分支之间合并?如果我在CustomDev中进行了更改,我想将它正常地合并到General中,那么我希望能够将此更改转换为General和GeneralDev,而不必将Custom的所有其他自定义设置为...
Is there a这样做的方式(无需每次合并时都排除文件),还是只需将这些视为两个单独的项目并手动同步更改?