.gitignore 用于 Xcode 项目

Posted

技术标签:

【中文标题】.gitignore 用于 Xcode 项目【英文标题】:.gitignore for Xcode Project 【发布时间】:2015-03-24 01:55:15 【问题描述】:

使用身份验证令牌和变量将代码推送到 Github 存储库时,我总是很紧张。我过去曾遇到过暴露密钥的问题,由于我是 Xcode 的新手,我很好奇应该将哪些文件添加到 .gitignore。我最担心在我的公共回购中显示的主要领域是我的 Parse 和 Facebook 密钥。 Facebook 密钥在我的.plist 中设置,我的 Parse 密钥出现在我的AppDelegate.swift 文件中。我的方法应该是什么,以及今后应该如何设置环境变量以防止将来出现问题。

【问题讨论】:

Github 为你做:github.com/github/gitignore/blob/master/Swift.gitignore 【参考方案1】:

如果推荐的Swift.gitignore 不会忽略这些文件,那么您需要使用content filter driver 管理它们(使用.gitattributes declaration)。

这个想法是在版本中管理那些 plist 或 swift 文件,但使用 template 占位符代替实际(敏感)值。

涂抹部分可以用实际值替换模板内容(结帐时) 干净的部分可以恢复模板(提交时)

(图片来自“Customizing Git - Git Attributes”,来自“Pro Git book”)

主要思想是:如果数据是机密的,它不应该在 repo 中(根本):smudge 脚本会将占位符值替换为在 outside 的 repo。

【讨论】:

以上是关于.gitignore 用于 Xcode 项目的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Xcode 5 中使用 gitignore 文件

Git 中.gitignore 使用和.gitignore 无效的解决方法

Git 的 .gitignore 配置

Xcode 项目的 Git 忽略文件正在忽略 .swift 文件

.gitignore 用于 Visual Studio 项目和解决方案

iOS 项目添加gitignore 文件