我长期使用Azure & TFS或TFS,管理不同的分支,我喜欢使用它,但是随着时间的推移,我发现CVCS (集中式版本控制系统)有一些主要的缺点,这是我现在在一个组织中所面临的。
真实的生活场景,希望你也在工作,面对他们,
我有一个名为“ProjA”的项目,5个开发人员正在开发“ProjA”,两个新的需求来自客户,以在登录页面添加新功能 1)任务1-忘记用户名 2)任务2-忘记密码
分配给Developer1的Developer1和分配给Developer2的Task2 --两个开发人员都在那里开始工作--在相同的资源上工作意味着相同的login.aspx和.cs页面。
Task1完成并checkIn进入存储库,迁移到QA分支并在QA环境中发布。一天后,Developer2在签入时完成了任务并签入了代码,他将首先从服务器获取页面的新的cope(最新的),在验证后合并他的更改并将代码合并到QA分支,这意味着tfvs现在同时拥有开发人员变更集和更改,
现在客户端说只有Task2 (忘记密码)才会转移到生产中,并且暂时保留Task1 (忘记用户名),
问题声明:现在我如何只将Developer2更改移到产品中并消除/跳过Developer1更改,请记住两个开发人员都使用相同的代码资源?
这可以通过手动注释developer1的代码来完成,但是它的解决方案不可靠,而且不适用于大型和高可用性的项目。
发布于 2020-02-21 10:03:08
我认为有两个方面:
I want only Task 2- Forgot Password,那么您只将Task 2合并到QA分支。如果客户说I want only Task 1, Task 2,那么将这两个任务合并到QA分支。如果您的客户改变主意,这将花费额外的钱来调整您的发布(削减就绪功能)。因此,不要将未经批准的特性合并到QA )。
https://stackoverflow.com/questions/60334222
复制相似问题