如何在Xcode中正确使用源代码控制并排除自动生成的项目文件?
解决Xcode项目Git追踪冗余生成文件的问题
一、自动生成适配Xcode的.gitignore
直接使用社区维护的标准.gitignore模板,无需手动编写,能覆盖所有Xcode自动生成的临时文件/文件夹:
- 打开终端,进入项目根目录,执行以下命令下载官方Swift项目模板:
该模板已包含curl -o .gitignore https://raw.githubusercontent.com/github/gitignore/main/Swift.gitignoreDerivedData、build/、*.xcuserdata、*.xccheckout等所有Xcode生成的临时内容,完全覆盖你遇到的随机命名文件(比如DerivedData下的哈希命名文件夹)。
二、移除已被Git追踪的冗余文件
若这些文件已被Git加入追踪,仅添加.gitignore无效,需将它们从Git缓存中移除(本地文件会保留,只是不再被追踪):
- 先查看当前被追踪的冗余文件:
git ls-files --exclude-standard --others - 执行命令清理缓存并重新提交:
说明:git rm -r --cached . git add . git commit -m "移除Git追踪的Xcode生成文件"git rm -r --cached .会移除所有已追踪文件的缓存,之后git add .会重新添加符合.gitignore规则的文件,最后提交变更即可。
三、临时隐藏变更(不推荐长期使用)
如果只是想临时隐藏这些文件的变更,不想修改.gitignore,可使用Git的assume-unchanged标记:
git update-index --assume-unchanged <目标文件/文件夹路径>
但此方法仅对当前本地仓库有效,换机器或重新克隆仓库后会失效,且容易遗漏文件,优先推荐使用.gitignore方案。
额外提示
DerivedData、build这类构建生成的文件夹无需加入Git,它们可通过重新构建完全恢复,不需要版本控制。- 若使用CocoaPods,记得将
Pods/加入.gitignore(或根据团队约定选择是否提交);Swift Package Manager的依赖会自动处理,无需手动添加。
内容的提问来源于stack exchange,提问作者AmLearning
相关产品推荐
相关产品推荐

