我正在使用VS2013 TFS
,我的方案是
在TFS中检查并发布的1'代码版本。 (本地路径是 C:\ Development \ DEV)
2'版本编码已开始但尚未完成。
现在客户端要求在第一个版本之上修复问题?怎么做?
同样的问题修复也应该包含在第二版中。怎么办?
答案 0 :(得分:1)
假设你还没有分支,那就是这样的:
右键单击主分支(v2)并创建一个新分支(对于v1)。从变更集"中选择"或者"从日期/时间"并输入第一步中的信息,以确定应从哪个(或更确切地说)分支。提交这个分支。你有两个独立的独立分支,v1分支使用你为v1版本发布的历史代码,你的主分支仍然包含v2。
现在您可以在任一分支中解决问题。您需要使用Source Control资源管理器将分支映射到PC的单独文件夹中,以便您可以对它们进行操作。 (如果您的源代码不可重定位,那么您必须通过将它们重新映射到同一位置来在分支之间切换。如果您仔细执行并确保在之前获得分支的干净副本,这可能会令人困惑但不会太困难你开始研究它了。这是一种很好的学习方法,可以让你的代码下次重新定位: - )
现在您需要在另一个分支中复制修复程序。如果分支完全不同,您可能会发现在另一个分支中第二次编写修复更容易,或者您可以右键单击固定分支并合并到第二个分支。 TFS将为您尽可能多地做,但您需要解决任何合并冲突,以便将您为修复所做的更改应用到第二个分支而不会破坏任何内容。 (这可能非常棘手,所以要小心,如果您不确定,请记住您可以随时撤消更改并重新启动合并)
完成修复并在本地测试合并后的代码后,再次针对上一个/工作区版本进行差异化,以确保您可以看到在合并中可能出现的任何问题,然后检查它。
最后,如果您的版本需要由构建服务器构建,那么您需要将构建系统指向v1分支,以使其为新版本构建(固定)v1版本(对于一次性构建,您只需重定向v1分支的源代码控制映射,以便构建服务器从源代码控制获取源代码时,从v1而不是v2获取,以及何时完成后,将源重新映射回v2分支)
只要你仔细考虑每一步并注意,它就会非常直接。但是,如果您以前从未这样做过,我建议您完成上述每个步骤并进行一些搜索,以了解有关如何分支,如何映射源控制文件夹以及如何合并的更多信息。
答案 1 :(得分:0)
分支和合并是一个复杂的主题,您可以遵循许多模式。如果不了解您的要求,就无法给出好的建议。您需要考虑以下事项:有多少客户端使用代码。这是一个同时具有多个版本的收缩包装应用程序,还是只有一个版本的生产系统" live"在一次。您还需要考虑如何测试代码(环境等)以及您拥有的构建过程和部署过程。
我可以在没有更多信息的情况下向您提供的最佳建议是阅读ALM Rangers guidance on TFS version control。然后回来提出更具体的问题。此外,保持简单,不要过度思考,否则你会陷入混乱。