我正在与另一位开发人员合作开发一个项目。我们正在进行重大升级,并进行大量重大更改。我们正在处理的软件是产品的AddOn,我们正在升级以使用该产品的新版本。他已经检查了一些不能在我的环境中运行的重大更改,因为我仍在运行旧版本的产品。我已经检查了一些变化。有没有什么方法可以检索代码,使其只包含在更改之前的更改,并且在我的工作区中仅包含我之后的更改?
如果我没有“获得最新”,我现在就可以了,因为我在我的机器上进行了更改,所以我会拥有它们。但是现在我需要“获取特定版本”以在所有重大更改之前将我带回来并以某种方式将我的更改集合并到我的工作区中。但似乎没有办法将变更集合并到工作空间中,只能合并到另一个树中。我只能选择我触摸的文件并获取这些文件的最新版本,但是有些文件包含我的变更集和变更集的变化(我的变更集也在他之后)。
所以我真正想要的是一种方法将特定的变更集合并到我的工作区(没有完成所有以前的更改),以回到我之前进入“获取最新状态”之前的状态。有没有办法做到这一点?
答案 0 :(得分:1)
看起来没有好办法做到这一点。幸运的是,我有另一个代表我想要的更改的分支(我只将我想要的更改合并到其中)。将整棵树复制到我的工作树上感觉不对,所以我使用WinMerge来识别不同的文件并将这些文件复制过来(粗略地看一下以确认它是包含我的更改的文件 - Visual Studio生成的一些文件只是因为它们位于不同的路径而不同。
所以我猜通常的解决方案是在TFS中创建一个分支,将所需的所有内容合并到一起,获取本地副本,然后将结果复制到工作区中。但这确实在TFS中造成了混乱(如何完全删除虚拟分支?)幸运的是,我拥有的分支是我们真正想要保留的分支(我们有一个与开发分支分开的构建分支)。
答案 1 :(得分:0)
我不确定这是否能解答您的问题,但如果您选择“获取特定版本...”,则可以选择特定的变更集。