Xcode Assets目录Contents.json在SourceTree中不更新的问题求助
Xcode Assets Catalog的Contents.json未被Git追踪问题排查
.DS_Store文件不会导致这个问题——它只是Mac系统生成的文件夹元数据文件,Git默认会忽略这类文件,但不会干扰其他文件的状态检测。下面是具体的排查和解决步骤:
先确认Contents.json是否已被Git追踪
打开终端进入项目根目录,执行:git ls-files | grep Contents.json如果没有任何输出,说明该文件从未被加入Git追踪,所以修改后不会在SourceTree中显示。此时需要手动执行添加命令:
git add Assets.xcassets/**/Contents.json替换成你项目实际的Assets目录路径即可,执行后再查看SourceTree,就能看到该文件的变更了。
检查Git缓存与SourceTree同步状态
执行git status --porcelain,查看输出中是否有标记为M(修改)的Contents.json条目。如果Git能检测到变更但SourceTree没显示,点击SourceTree的「刷新」按钮,或是重启SourceTree即可同步状态。验证Xcode是否正确保存了文件
右键项目中的Assets.xcassets选择「Show in Finder」,找到对应图片集里的Contents.json文件,手动打开确认内容是否有修改。如果文件内容没有更新,说明Xcode可能未及时写入磁盘,重新在Xcode中操作一次并确保保存。检查本地Git忽略规则
除了项目根目录的.gitignore,还要查看项目的.git/info/exclude文件(这个是本地私有忽略规则,不会被提交),确认其中没有针对Contents.json的忽略条目。
内容的提问来源于stack exchange,提问作者es1
相关产品推荐
相关产品推荐

