如果我合并我们的main
分支到我们的development
分支,TFS将声明没有提交更改。然而,文件级别比较(使用WinMerge)清楚地表明存在差异(例如文件丢失,内容不同的文件等)。
简而言之,我们的main
和development
分支不再同步,这很可能是由于之前TFS迁移过程中丢失的变更集所致。
产生以下内容的最佳方法是什么?
main
和development
分支:在development
分支上执行所有必要的插入/更新/删除操作。 (即main
是主副本)。
development
分支历史不变。development
分支现在与main
完全同步,以便:
development
main
变更集
development
的未来更改才会被推送到main
。TFS不是我的专业领域 - 非常感谢您提供的任何指导。
Development
已从Main
分支,但看起来这可能会解决我缺乏历史记录(即缺少变更集)的问题。tf merge A B -r -force -version:T
答案 0 :(得分:0)
当TFS进行合并时,它将合并基于先前的合并历史记录,而不是源文件和目标文件的实际内容。
此问题可能是由于在执行合并时选择keep target
或同时执行与discard
选项的合并(使用命令行TF merge /discard
)。
要解决此问题,您可以尝试:
将/force
选项与tf merge命令一起使用。如果有一个先前已合并的变更集(可能不正确),并且您想要再次合并它。 / force标志忽略合并历史记录,该合并历史记录指示特定变更集先前已从源合并到目标,并再次合并变更集。
使用Rollback撤消上一个合并。如果您最近完成了已弃用更改集的合并。在历史记录中找到它,右键单击变更集并选择Rollback并检查已撤消的代码。