无法在TFS中添加含$的Angular Material文件,TF10122错误如何解决?
解决TFS无法添加带$前缀文件的问题
这个问题我之前在整合Angular Material资源到TFS时也碰到过,TFS默认会把以$开头的文件判定为内部系统保留文件,所以直接通过GUI添加会触发TF10122错误。下面是几个靠谱的解决办法:
方法一:用命令行强制添加(最直接)
TFS的命令行工具可以绕过GUI的限制,步骤如下:
- 打开命令提示符或PowerShell,导航到包含目标文件的目录
- 执行添加命令(注意文件名要加引号,避免符号解析问题):
tf add "$data.json" /force - 接着提交变更:
tf checkin /comment:"添加Angular Material的$data.json文件"
方法二:修改TFS忽略规则(适合长期需求)
如果经常需要添加这类带$前缀的文件,建议修改团队项目的忽略规则:
- 在项目根目录找到
.tfignore文件(如果没有就新建一个) - 在文件中添加一行规则,明确排除对
$开头文件的忽略(根据你的文件类型调整后缀):!$*.json !$*.js - 将
.tfignore文件添加到版本控制并提交,之后再添加带$的文件就不会被拦截了
方法三:临时重命名应急(不推荐长期用)
如果只是临时处理单个文件,可以先绕开命名限制:
- 先把
$data.json重命名为data.json,通过GUI或命令行添加到TFS并提交 - 然后在TFS中把文件重命名回
$data.json,再次提交变更
为什么会出现这个错误?
TFS默认将以$开头的文件标记为内部工作区相关的系统文件(比如TFS用来跟踪工作区状态的文件),为了避免误操作覆盖系统文件,所以默认阻止添加这类命名的文件。我们通过上述方法可以明确告诉TFS这些是我们需要管理的业务文件,而非系统文件。
内容的提问来源于stack exchange,提问作者Snake Eyes
相关产品推荐
相关产品推荐

