我怎样才能始终阻止TFS中的特定文件签入

有一个文件,我总是作出改变,但我永远不想被检入。我希望TFS阻止我从检查它或提交更改。 我如何configurationTFS来做到这一点?

详细信息:项目中有另一位开发人员检查了一些我不喜欢在我的本地计算机上注释的错误代码。 既然他们是客户,我宁愿保留这个技术性的工作,而不是把它变成政治性的。

TFS被低估的function之一是隐藏 。 像SVN的ignore ,隐形会让你忽略某个文件夹或文件。

隐藏文件夹

隐藏文件夹很简单:只需右键单击源代码pipe理资源pipe理器上的一个文件夹,然后select隐藏

隐藏文件

用户界面不会在单个文件中暴露隐藏,但有时您可能需要隐藏某个文件,如app.config

  1. 转到File > Source Control > Workspaces

  2. select您的工作区,然后点击Edit

  3. 在工作文件夹下,以及一个状态为“ Cloaked的新条目,并input要Cloaked文件的完整服务器path。 (例如: $/MyTeamProject/Dev/Src/SomeProject/app.config

隐藏文件


使用本地工作区.tfignore文件(在TFS 2012,2013,2015以后)

在Local Workspace中 ,使用你可以使用.tfignore文件(相当于.gitignore for Git)

 .tfignore file example ###################################### # Ignore .cpp files in the ProjA sub-folder and all its subfolders ProjA\*.cpp # # Ignore .txt files in this folder \*.txt # # Ignore .xml files in this folder and all its sub-folders *.xml # # Ignore all files in the Temp sub-folder \Temp # # Do not ignore .dll files in this folder nor in any of its sub-folders !*.dll 

根据权限阻止

另一种方法是拒绝签入文件(需要pipe理权限):

  1. 右键单击该文件>单击Properties > Security

  2. 添加您的用户并在Deny Check In权限上标记Deny

拒绝入住

对于TFS 2012,只需使用.tfignore文件即可。

将忽略的文件添加到本地工作区中映射的文件夹时,它们不会显示在“团队资源pipe理器”的“等待更改”页面中。

http://msdn.microsoft.com/en-us/library/ms245454.aspx

Visual Studio 2013(和2012)

该function可通过select文件并转到:

 File > Source Control > Advanced > Exclude ... from Source Control 

有两种方法。

  1. 您可以在“Pending Changes”窗口中“取消”它,然后在下次加载Visual Studio时记住它。 如果您想“全部select”,并选中/取消选中列表中的项目,并且容易出错,这样做有点麻烦。
  2. 不要“签出”文件,进入资源pipe理器并自己删除只读属性。 然后编辑你想要的位。 需要注意的是,TFS不知道它,并不总是正确地更新文件。 另外,如果您在VS中编辑该文件(用于anoter更改),它将被“检出”,然后您可能会错误地检查它。

我不喜欢TFS / VS 2010中的任何一个选项,所以我实际上避免这样做(当我们使用SVN时,我曾经有一个很大的“忽略提交”)。 现在我正在使用VS11testing版,排除列表正是我想要的,我移动了一些东西,它保持在那里,我可以轻松地将其他更改放在列表中,而不是检查该文件。

您可以从源代码pipe理中排除该文件

1.在解决scheme浏览器中select文件

2.转到文件 – >源代码pipe理 – >高级

排除的路径

在这里

这是排除

另一种select是使用自定义签入策略。 您可以自行构build或使用TFS 2010电动工具中的 禁止模式策略 。 当然,你需要成为一名TFSpipe理员来安装它,这可能不是你想要的。 此外,任何签入政策可以被覆盖。

如果您使用的是“本地”工作空间types,这是TFS 2012的新增function,则您的源代码pipe理文件根本不会设置为“只读”。 但在这种情况下,无论您在哪里编辑它们,TFS都会将其视为已更改并纳入未决更改。 默认情况下会有更好的选项,比如“自动排除”等待更改。 只有当你想要这个时才包括它们。

如果您使用的是VS2010,隐藏文件夹永远不会被TFS检测为使用此function的更改。 您不想成为TFS一部分的文件夹将其标记为隐藏。