28

我一直在将 SourceGear Vault 用于一些个人项目,将 Team Foundation Server 用于工作项目。TFS 缺少的一件事是 Vault 在其签入对话框窗口中具有的一个简单功能。

在 Vault 客户端中,您可以查看签出的文件是否与之前签入的版本相比发生了变化。这是一个屏幕截图。注意到“详细信息”列了吗?这告诉你有区别。如果您必须检查整个项目,因为您要进行代码重新生成,这种方法非常有用。我将检查我的类库项目,然后重新生成我的 CodeSmith 模板。这样做可能会导致仅更改几个特定文件。当我查看挂起的签入屏幕时,我看到了真正改变的文件,我可以比较看看影响。

所以... TFS 可以做到这一点吗?也许有一个 3rd-party 工具可以为我做这件事?是否有我必须获得的 TFS SDK 或 PowerTool。有人想建吗?

4

5 回答 5

18

选择“待更改”窗口中的所有文件并激活上下文菜单。然后单击“撤消... ”> “撤消更改” > “全部拒绝”没有更改的文件将被回滚。

于 2011-03-31T07:34:25.417 回答
10

根据此页面,您可以从 Visual Studio 命令提示符运行此命令。

tfpt uu /noget /r *

您需要安装 TFS Power Tools 才能正常工作。此外,请确保您在命令提示符下浏览到映射文件夹的根目录(例如 - C:\TFS)。

TFS Power Tools 链接(如果您还没有)
TFS Power Tools for 2010
TFS Power Tools for 2012

于 2014-04-03T19:51:02.620 回答
7

无需撤消未更改的文件,因为 TFS 会在签入时注意到它们未更改,并且只会关联真正更改的文件。任何签出但未更改的文件都将恢复为其最后一个已知的签入版本,并且不会与您的签入相关联。在 TFS 中(虽然没有很清楚地记录)是不可能签入未更改的文件的。如果没有更改,它将始终恢复到以前的版本。

您可以通过从命令行调用“tfpt.exe uu /r”(为此需要 Team Foundation Power 工具)或使用“待更改”窗口中的“撤消未更改”按钮来快速撤消未更改的文件。这会立即从列表中删除任何未更改的项目。这样您就可以准确地看到您正在检查的内容。

撤消未更改的选项

尽管此选项可能是由Team Foundation Power ToolsTFS Source Control Explorer Extensions添加的(无论如何,这对于每个 TFS 用户来说都是必须的)。

也可以看看:

于 2012-04-23T19:31:06.553 回答
4

我不喜欢回答自己的问题,但看起来可能没有真正的 Microsoft 解决方案。对我来说,这就是我在办公室使用 Visual Studio 处理问题的方式。

  1. 在重新生成业务对象之前,我制作了整个文件夹结构的副本
  2. 我检查了整个项目或根生成的文件夹
  3. 我启动代码生成器。有时,我确切地知道发生了什么变化,但其他时候,我可能会做出很多改变,我不想错过任何东西。我工作中的代码生成器还生成 DROP/CREATE 存储过程所需的所有 SQL 文件。
  4. 使用 SourceGear DiffMerge,我比较了刚刚生成的文件夹和之前备份的文件夹。

这非常耗时。直到我看到 Vault 识别出磁盘上的文件与存储库不同,我才认为这是一个问题。

也许你们都可以说在使用源代码控制存储库时如何进行代码生成/重新生成。

于 2010-07-27T23:33:06.857 回答
1

我在一个企业开发环境中工作,许多开发人员可能正在处理同一个文件,我们也有 TFS 作为我们的源代码控制。在我们的 TFS 最佳实践文档中,我们真的不鼓励检查开发人员不打算更改的文件,这样我们在提交变更集时自然会排除没有差异的文件。

要回答您的问题,我通常只查看“待更改”窗口,然后对我不确定的“已更改”文件运行比较——比较工具应立即告诉您本地副本是否与服务器副本。不幸的是,除了我建议的之外,没有真正的解决方法,但我没有看到我绝对必须检查整个项目分支以进行编辑的情况。

于 2010-07-27T21:39:49.390 回答