通过CLI重同步PTC Integrity Sandbox时如何排除指定子项目
问题分析与解决办法
首先,你的si resync命令没成功排除Archive子项目,主要有两个核心问题,咱们逐个拆解:
1. 过滤器类型选错了
你用了file:"!Archiv"过滤器,但file类型的过滤器是用来匹配单个文件的,而你要排除的是一个完整的子项目(Archive),应该用project类型的过滤器才对。Integrity的CLI里,针对子项目的过滤必须指定project作为过滤维度,不然命令会把你的规则当成要排除名为"Archiv"的文件,而非目标子项目。
2. 可能存在拼写错误
你写的是!Archiv,少了末尾的"e"(应该是!Archive)——当然这可能是你输入时的笔误,但如果拼写不对,过滤器也无法精准匹配到目标子项目。
正确的命令写法
调整过滤器类型和拼写后,正确的命令应该是这样的:
si resync -S C:\MySandbox\project.pj --recurse --filter=project:"!Archive"
额外验证小技巧
如果不确定过滤器是否生效,可以先用si ls命令测试过滤规则,确认能正确排除Archive子项目:
si ls --recurse --filter=project:"!Archive" C:\MySandbox\project.pj
如果这个命令的输出里没有Archive子项目,再执行resync就没问题了。
补充:CLI是否支持排除目录/子项目?
答案是完全支持,但必须用对过滤类型:
- 排除子项目用
project过滤器 - 排除普通目录(非子项目)可以用
directory过滤器 - 排除单个文件用
file过滤器
只要匹配规则和过滤类型对应,就能精准排除你不需要同步的内容。
内容的提问来源于stack exchange,提问作者Igl3
相关产品推荐
相关产品推荐

