TFS无法在替换文件后签入更改

TFS无法在替换文件后签入更改,tfs,Tfs,我正在写一个Asp.Net项目,一位同事做了一个原型版本。我删除了Default.aspx并创建了一个新版本,现在我正在尝试签入该新版本 当我尝试签入挂起的更改时,我会得到标准: 签入,由于更改冲突,未签入任何文件。请使用 冲突频道以解决冲突并重试 我将被引导到“挂起的更改-冲突”选项卡,在该选项卡中,我将看到选项:“获取服务器版本”或“保留本地版本” 如果单击“保留本地版本”,则会出现以下错误: 错误,遇到以下异常。项目 $/ProjectName/Default.aspx已经有挂起的更改 如

我正在写一个Asp.Net项目,一位同事做了一个原型版本。我删除了Default.aspx并创建了一个新版本,现在我正在尝试签入该新版本

当我尝试签入挂起的更改时,我会得到标准:

签入,由于更改冲突,未签入任何文件。请使用 冲突频道以解决冲突并重试

我将被引导到“挂起的更改-冲突”选项卡,在该选项卡中,我将看到选项:“获取服务器版本”或“保留本地版本”

如果单击“保留本地版本”,则会出现以下错误:

错误,遇到以下异常。项目 $/ProjectName/Default.aspx已经有挂起的更改


如何让它接受我的新版本的文件?

听起来服务器端有一个新版本的文件。将本地文件复制到某个位置,然后放弃更改并获取最新版本。然后签出并用本地文件覆盖签出的版本。也许有一种更优雅的方法可以做到这一点,但它应该可以工作——当然,它也会覆盖对服务器端版本所做的任何更改。

由于这个问题,我们刚刚花了30分钟与TFS进行了斗争

一位同事签入了一个文件,我们想回滚到以前的版本。TFS将允许我们签出该文件,使用历史记录并获取较旧版本,但一旦我们点击“保存”,VS2015将立即取消签出该文件,恢复到TFS中该文件的最新版本,并且我们丢失了更改。没有警告,没有可能阻止它

其他时候,我们会进行签入,但TFS会抱怨由于更改冲突而没有签入任何文件,并且再次将我们从TFS恢复到最新版本,没有任何选项可以防止这种情况

最终对我们有用的是

查看文件 将其内容设置为我们想要的旧版本 打开存储该文件的文件夹,并将该文件设置为只读 签入文件 通过这样做,TFS不会自动用来自TFS的最新代码覆盖我们的文件,并且我们能够签入我们想要的版本


我需要一杯啤酒…

编辑的文件不再处于只读状态。 这就是解决方案:

关闭项目。或者使用,我喜欢这个,你可以跳过2,3,4 断开互联网连接。 打开项目,它现在将处于脱机模式。 重新连接到Internet。 右键单击解决方案并选择联机。 VS将检查所有非只读文件,并将其视为已更改,并标记为签出。 现在,所有已替换的文件都已成功签出。
几秒钟前我自己弄明白了,但是你的回答描述了什么对我有效。你不应该这样做,因为这就像你从源代码管理中删除文件并添加新文件一样,因此,如果您的同事进行了修改,他们将丢失该修改,甚至无法合并这些更改。在我的情况下,我必须“git rm the file”并还原以修复此问题。