Perforce .p4ignore未忽略UE5项目Saved文件夹问题求助
UE5项目P4ignore配置后Saved文件夹仍被Reconcile捕获的问题
已按照HelixCore指南为UE5项目配置.p4ignore文件,其中包含Saved/等忽略规则,但对整个项目执行离线工作reconcile时,Saved文件夹内的文件仍被加入变更列表。以下是相关信息:
一、当前.p4ignore文件内容
# 用户专属或临时文件夹,无需版本控制 Saved/ Intermediate/ DerivedDataCache/ FileOpenOrder/ obj/ # 无需版本控制的特定文件类型 *.pdb *-Debug.* # 需要忽略的Visual Studio用户设置文件 .vs/
二、忽略状态检查结果
执行p4 ignores -i -v Saved的输出:
Microsoft Windows [Version 10.0.19045.5011] (c) Microsoft Corporation. 保留所有权利。 c:\Projects\Unreal\WhipLash 5.3>p4 ignores -i -v Saved c:\Projects\Unreal\WhipLash 5.3\Saved ignored by c:\Projects\Unreal\WhipLash 5.3\.p4ignore:67:Saved/* c:\Projects\Unreal\WhipLash 5.3>
三、执行p4 reconcile Saved/...的结果
c:\Projects\Unreal\WhipLash 5.3>p4 reconcile Saved/... //stream/PlayerController/Saved/AutoScreenshot.png#39 - 已打开用于编辑 //stream/PlayerController/Saved/Config/CrashReportClient/UECC-Windows-919D94EF4F7338AE9E6D99915C03C756/CrashReportClient.ini#1 - 已打开用于删除 //stream/PlayerController/Saved/Config/CrashReportClient/UECC-Windows-9A5108A643D6A95CDA1FF888F286194D/CrashReportClient.ini#1 - 已打开用于删除 //stream/PlayerController/Saved/Config/WindowsEditor/EditorPerProjectUserSettings.ini#63 - 已打开用于编辑 //stream/PlayerController/Saved/Config/WindowsEditor/Engine.ini#37 - 已打开用于编辑 //stream/PlayerController/Saved/Logs/WhipLash-backup-2024.10.30-22.35.05.log#1 - 已打开用于删除 //stream/PlayerController/Saved/Logs/WhipLash-backup-2024.11.03-20.05.43.log#1 - 已打开用于删除 //stream/PlayerController/Saved/Logs/WhipLash.log#63 - 已打开用于编辑 //stream/PlayerController/Saved/Logs/WhipLash_2-backup-2024.10.31-12.24.13.log#1 - 已打开用于删除 //stream/PlayerController/Saved/Logs/WhipLash_2-backup-2024.10.31-12.29.07.log#1 - 已打开用于删除
解决方法
1. 清理已被追踪的Saved文件
p4ignore仅对未被Perforce追踪的文件生效。如果Saved文件夹内的文件之前已提交到仓库,规则不会自动忽略它们:
- 先检查文件追踪状态:
p4 status Saved/... - 若显示已被追踪,执行以下命令移除仓库中的追踪记录(保留本地文件):
p4 delete -k Saved/... p4 submit -d "移除Saved文件夹的追踪记录,应用ignore规则"
2. 确认p4ignore规则作用范围
确保.p4ignore文件放置在项目根目录,且Perforce客户端根目录与项目根目录一致:
- 查看客户端根目录:
p4 client -o | grep Root - 若根目录不匹配,修改客户端配置;或通过环境变量指定p4ignore路径:
p4 set P4IGNORE=c:\Projects\Unreal\WhipLash 5.3\.p4ignore
3. 强制reconcile使用p4ignore规则
执行reconcile时添加-I参数,强制应用p4ignore规则:
p4 reconcile -I ...
4. 排查全局p4ignore冲突
检查是否存在全局p4ignore规则覆盖本地配置:
p4 set P4IGNORE
若输出显示全局路径,确认全局规则中没有取消Saved/的忽略设置。
内容的提问来源于stack exchange,提问作者Luurio
相关产品推荐
相关产品推荐

