我尝试了解使用TFS /源代码控制管理修补程序的正确方法。
假设我有一个小项目只包含两个文件(app.js和util.js)。这两个文件都在源代码管理下(Team Foundation Server)。
假设我在两周前申请了一个标签,表明部署到服务器的“里程碑-1”。从那时起,我应用了其他几个修改(扩展app.js并添加了另一个文件)。
今天我发现了一个错误,所以我从服务器上获得了标签“milestone-1”的版本,修改了util.js并将此版本部署到服务器。目标是在服务器上只部署版本“milestone-1”,包括hotfix-1,但不是我过去两周应用的修改。
问题是:我如何/在哪里签入TFS的修补程序?因为我明天可能会发现另一个错误所以我必须得到版本“milestone-1”和hotfix-1基础来应用第二个修补程序。
有没有办法将我的代码版本签入到标有“里程碑-1”和我的最新版本之间的“TFS”?
答案 0 :(得分:3)
分支和合并!
我们有以下开发周期:
好的,那么,更进一步,我们必须做出一些修改。再一次," Main"再次扩展,开发工作继续在Dev Branch。一切都很好。然后,用户报告需要修复的错误,并且需要快速修复。但是我们已经完成了其他开发的一半!怎么办?
此时,我们再次从main分支。我们称之为" HotFix"。修复了该错误,然后将HotFix合并回main。然后我们可以将它合并到我们的发布分支中,并发送更新。我们当前的开发工作没有中断,我们在这一点上所做的工作都没有在Main上存在。
我们终于完成了我们的开发工作,然后我们将其合并到主分支中,然后再发布。因为我们的Hotfix分支已合并到main,我们的新开发工作也包含我们之前动态修复的修补程序。
答案 1 :(得分:1)
你应该使用分支。查看“巡游者”指南。
我过去成功使用过高级分支计划,但您可以根据自己的需要进行自定义。您需要遵守分支,合并,签入等规则。还要考虑搁置集以进行代码更改,这些代码更改尚未准备好提交到DEV分支。
http://vsarbranchingguide.codeplex.com/
如果您想了解更多信息,请与我们联系。