代码之家  ›  专栏  ›  技术社区  ›  Drake

TFS:如何在加载解决方案时消除更改的文件?

  •  8
  • Drake  · 技术社区  · 14 年前

    我刚接触到TFS与Visual Studio 2010的集成,我想解决一个问题。

    实际上,当我打开一个解决方案时,我如何检测, 只看 解决方案管理器 上次登录后更改了哪个文件?

    如果我查看 最新的 源代码管理资源管理器 但这并不那么直观。

    为了更好的理解,我给你附上了一张图片。

    alt text http://img37.imageshack.us/img37/9308/mainmicrosoftvisualstud.jpg

    对于frmabout.vb(在本例中),我希望有一个不同的图标,而不是锁,与解决方案资源管理器中的项目相关联。你知道我怎样才能达到这种行为吗?或者是一些Visual Studio 2010的替代产品(插件)?

    编辑: 我们是一个由3个人组成的小团队,我们需要在每一行代码上保持一致,因为我们是可互换的。因此,对于我们来说,有一个清晰可见的图标,将是有益的。

    编辑2: 赏金时间又结束了,没有真正的解决办法。如果您知道实现此行为的插件,请告诉我。如果我找到空闲时间,我会努力写它。

    5 回复  |  直到 14 年前
        1
  •  7
  •   Warren Rumak    14 年前

    首先,仅仅检查文件更新的情况是不够的。您还必须考虑在服务器上添加文件的情况,但您还没有这些文件…同样,在服务器上删除了一个文件,但尚未从本地工作区删除的情况下。

    幸运的是,所有这些都内置于VS2010中的团队资源管理器中。你所要做的就是:

    1. 转到源代码管理资源管理器
    2. 右键单击左侧树窗格中解决方案的根文件夹(或任何真正的文件夹),然后选择“比较…”
    3. 选择比较选项(对于您想做的事情,默认设置可以正常工作) 它将运行一个完整的比较。完成后,将显示一个“文件夹差异”窗口,其中显示服务器和工作区不同的所有情况(这些情况将以红色突出显示)。
    4. 右键单击任何不同步的项目(或整个文件夹),然后选择“协调…”;此时,您可以选择如何解决差异。

    这就是问题所在。希望这有帮助。

        2
  •  1
  •   Robaticus    14 年前

    我的问题是“你为什么在乎?”如果您在一个团队环境中工作,其中有多个人正在对源代码进行更改,请记住经常在工作区中执行前向集成。

    我们现在正在做这项工作,我们的标准是在开始工作之前对解决方案进行递归的“获取最新版本”。如果有任何冲突,您可以合并它们。否则,您将拥有最新的。

        3
  •  0
  •   Jeroen Landheer    14 年前

    我在这里所说的是基于我对TFS和Visual Studio 2008的了解,但我认为在这方面没有太大变化。(如果我错了,请随时纠正我。)

    • 在解决方案资源管理器中,可以查看是否签出了文件。
    • 在源代码管理资源管理器中,可以查看是否有文件的最新版本

    这两件事完全不同。TFS与“更改集”一起工作,这是您在本地对签出的文件所做的一组更改。编辑完这些之后,您可以一次签入所有更改。多个团队成员可以签出同一个文件。如果发生这种情况,则在签入文件时合并更改。

    在签出文件或使用“获取最新版本”之前,不会在本地自动接收文件的最新版本。

    Afaik无法在解决方案资源管理器中指示文件的最新版本。

    希望这有帮助。

        4
  •  0
  •   jcolebrand    14 年前

    为什么你不使用一个源代码管理,它有一个插件集成到VS中?根据平台(svn、git、hg、tfs)的不同,应该有很多插件可以告诉您是否发生了什么变化。在这些情况下,什么是不成功的?

        5
  •  0
  •   Maxsur    14 年前

    不确定这是否有用,但另一个解决问题的方法。 首先,可以在“工具”->“选项”->“源代码管理”->“环境”页上设置“获取项目或解决方案时的所有内容”选项。这保证了在打开解决方案后您拥有最新版本。 其次,在__获得所有__操作后,检查输出窗口。选择_显示_=源代码管理的输出。您将在一个方便的列表表单中看到所有更改的文件。