【发布时间】:2012-04-02 06:34:40
【问题描述】:
我总是对一个文件进行更改,但我不想签入。我希望 TFS 阻止我签入或提交更改。如何配置 TFS 来执行此操作?
详情: 该项目的另一位开发人员签入了一些我更喜欢在本地计算机上注释掉的错误代码。由于他们是客户,因此我更愿意将此作为技术练习而不是政治练习。
【问题讨论】:
标签: tfs
我总是对一个文件进行更改,但我不想签入。我希望 TFS 阻止我签入或提交更改。如何配置 TFS 来执行此操作?
详情: 该项目的另一位开发人员签入了一些我更喜欢在本地计算机上注释掉的错误代码。由于他们是客户,因此我更愿意将此作为技术练习而不是政治练习。
【问题讨论】:
标签: tfs
TFS 被低估的功能之一是cloaking。和 SVN 的ignore 一样,隐藏会让你忽略某个文件夹或文件。
隐藏文件夹很简单:只需右键单击源代码管理资源管理器中的文件夹并选择Cloak
UI 不会隐藏单个文件,但有时您可能希望隐藏某个文件,例如 app.config。
转到File > Source Control > Workspaces
选择您的工作区并点击Edit。
在工作文件夹下,新建一个状态为Cloaked 的条目,然后输入要隐藏的文件的完整服务器路径。 (例如:$/MyTeamProject/Dev/Src/SomeProject/app.config)
在Local Workspace中,使用你可以使用.tfignore文件(对于Git相当于.gitignore)
.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
另一种方法是拒绝签入文件 (需要管理权限):
右键文件>点击Properties>Security
添加您的用户并在Check In 权限上标记Deny。
【讨论】:
File > Source Control > Advanced > Workspaces 用于隐藏文件
对于 TFS 2012,只需使用 .tfignore 文件。
当您将忽略的文件添加到本地映射的文件夹中时 工作区,它们不会出现在 Team 的 Pending Changes 页面中 探险家。
【讨论】:
ren)等只是不要使用资源管理器。
move 重命名它。
Visual Studio 2013(和 2012)
选择文件并转到以下位置即可使用此功能:
File > Source Control > Advanced > Exclude ... from Source Control
【讨论】:
您可以只从源代码管理中排除文件
1.在解决方案资源管理器中选择文件
2。转到文件 -> 源代码管理 -> 高级
就在这里
【讨论】:
有两种方法。
我不喜欢 TFS / VS 2010 中的任何一个选项,所以我实际上避免这样做(当我们使用 SVN 时,我曾经有一个很大的“ignore-on-commit”)。现在我使用的是 VS11 Beta,Excluded 列表完全符合我的要求,我将一些内容移到它上面并保留在那里,并且我可以轻松地在该列表上进行其他更改,而不是签入该文件。
【讨论】:
另一种选择是使用自定义签入策略。您可以build your own 或使用TFS 2010 Power Tools 中的Forbidden Patterns Policy。当然,您需要成为 TFS 管理员才能安装它,并且在您的情况下它可能不是您想要的。此外,任何签入政策都可以被覆盖。
【讨论】:
如果您使用的是“本地”工作区类型,这是 TFS 2012 的新功能 - 您的源代码控制文件根本没有设置为“只读”。但在这种情况下,无论您在哪里编辑它们,TFS 都会将它们视为已更改并包含在待处理的更改中。默认情况下,从待处理的更改中选择“自动排除”这样的选项会很棒。并且仅在需要时才包含它们。
【讨论】:
如果您使用的是 VS2010,则 TFS 永远不会将隐藏文件夹检测为更改。使用此功能。 您不想成为 TFS 一部分的文件夹将其标记为隐藏。
【讨论】: