【问题标题】:Setting to make TFS force you to resolve conflicts before checking in?设置为使 TFS 强制您在签入前解决冲突?
【发布时间】:2014-05-14 23:07:28
【问题描述】:

我上周刚开始在一份新工作中使用 TFS。我以前的经验主要是使用 Subversion,我喜欢 Subversion 的一件事是它迫使您在签入任何可能发生冲突的内容之前获取最新版本。此外,您必须解决冲突(或明确地将它们标记为已解决,即使它们不是真的)。​​

在 TFS 中,当 2 个人处理同一个文件时,似乎人们会不时地清除其他人的更改。我敢肯定这肯定是由于缺乏 TFS 经验,但似乎 Subversion 的工作流程让这件事变得更加困难,虽然我经常不得不帮助人们解决 Subversion 中的冲突,但我不记得有任何真正的问题人们不小心清除了其他人的代码。

有没有办法让 TFS 强制您在签入前获取最新信息并解决所有冲突?

【问题讨论】:

  • 你使用的是什么版本的 tfs?
  • TFS 确实让您在签入前解决冲突。如果我在版本 42 中获得文件 foo,而您在版本 43 中签入文件 foo,我无法入住。我将获得冲突解决窗口。是否有一些相反的工作流程?
  • @EdwardThomson 有几个人提到冲突解决窗口并不总是按预期自动弹出(也就是说,如果没有冲突,它不会弹出,但他们希望它会弹出,因为他们知道会有冲突)。 TFS 自动合并项目时的准确度如何?我想知道这是否可能是一个问题。接下来我要检查的是历史,看看人们在合并时是否没有注意。但我自己也遇到过问题,我一直非常小心。
  • Automerge 在所有供应商中通常是相同的,并且没有任何长期存在的已知问题。也就是说,将其关闭(工具 -> 选项 -> 源代码管理 -> Visual Studio Team Foundation Server -> 尝试在生成冲突时自动解决冲突)以从等式中删除一个移动部分可能会有所帮助。跨度>

标签: tfs merge-conflict-resolution


【解决方案1】:

这可能取决于一些事情,但最相关的可能是工作区设置(本地或服务器)。例如,服务器工作区为您提供了强制获取最新的选项。其他差异可能包括每种工作空间类型下可用的锁类型。

这里有几篇关于这个主题的帖子: http://msdn.microsoft.com/en-us/library/bb892960.aspx http://blogs.msdn.com/b/phkelley/archive/2013/05/29/server-workspaces-vs-local-workspaces.aspx

【讨论】:

  • 谢谢。我们正在使用本地。
猜你喜欢
  • 1970-01-01
  • 2018-08-21
  • 2015-02-06
  • 2011-05-12
  • 1970-01-01
  • 1970-01-01
  • 2011-05-05
  • 1970-01-01
  • 2017-03-02
相关资源
最近更新 更多