以下是更详细的情况:
一位同事对该项目进行了重大且不完整的更改,使其无法正常运行,检查了该代码并进行了为期两周的假期。由于甚至不需要这些更改,因此明显的行动方针是获取以前的版本并从那里开始工作。
当我签入项目的新工作版本时会出现问题:我不是仅仅将文件传送到服务器,而是使用服务器版本在我的机器上替换文件。我从来没有想过检查会从服务器获取文件!
答案 0 :(得分:0)
当您签入更改时,Visual Studio将始终尝试将它们与服务器上的最新版本合并。它必须,因为每个文件的版本历史是线性的,除非你手动分支文件。
如果服务器上的更改与您的本地更改不兼容,则会阻止签入,您必须先在本地解决任何冲突,然后才能再次登记。
您所看到的是预期的行为,由于TFVC的工作方式,它不会有所不同。您的同事不应该检查不起作用的版本。在这种情况下,他应该创建一个shelveset(它将从标准历史中单独存储文件)。
在您的情况下,我从您的同事中选择签到,选择回滚并检查结果。它基本上消除了他的变化,但它们并没有丢失。通过重新应用回滚变更集(回滚变回集)或通过获取具有更改的特定版本,他可以继续处理它们。