更换文件后,TFS无法检入更改

时间:2011-07-28 14:04:09

标签: tfs

我正在重写一个同事做过原型版的Asp.Net项目。我删除了Default.aspx并创建了新的,现在我正在尝试检查新版本。

当我尝试检查挂起的更改时,我得到了标准:

  

签入,由于更改冲突而没有签入任何文件。请用   冲突频道解决冲突并重试。

我已重定向到待处理更改 - 冲突标签,其中显示了以下选项:'Take Server Version''Keep Local Version'

如果点击'Keep Local Version',我会收到以下错误:

  

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

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

3 个答案:

答案 0 :(得分:19)

听起来服务器端有更新版本的文件。将您的本地文件复制到某处,然后丢弃您的更改并获取最新信息。然后签出并用您的本地文件覆盖签出的版本。也许有更优雅的方式来做,但它应该工作 - 当然它也会覆盖对服务器端版本所做的任何更改。

答案 1 :(得分:2)

由于这个问题,我们花了30分钟与TFS战斗。

一位同事检查了一个文件,我们想要回滚到以前的版本。 TFS会让我们签出该文件,使用历史记录,并获取旧版本,但只要我们点击保存,VS2015就会立即“取消选中”该文件,恢复为最新版本< TFS中文件的/ em>我们丢失了更改。没有警告,没有可能阻止它。

其他时候,我们会办理登机手续,但是TFS会抱怨“由于更改有冲突而没有检入文件”,并再次将我们从TFS恢复到最新版本,没有任何选项可以防止这种情况发生

最终为我们工作的是

  • 查看文件
  • 将其内容设置为旧版本(这是我们想要的)
  • 打开存储文件夹,然后将文件设置为只读
  • 签入文件

通过这样做,TFS 没有使用TFS的最新代码自动覆盖我们的文件,我们能够检查我们想要的版本。

我需要一杯啤酒......

答案 2 :(得分:0)

已编辑的文件不再具有只读状态。
所以这是解决方案:

  1. 关闭项目。
  2. 断开互联网连接。
  3. 打开项目,它现在将处于脱机模式。
  4. 重新连接到互联网。
  5. 右键单击解决方案,然后选择“在线”。
  6. VS将检查所有非“只读”文件,并将其视为“已更改”,并标记为检出。
  7. 现在已成功检出所有已替换的文件。