我可以为我自己的项目创建一个存储库并使用 GitHub/BitBucket。我在与其他开发人员协作或尝试在 GitHub 上 fork 项目时遇到问题。
我知道其他答案,例如 Best practices for git repositories on open source projects但是我想知道如何解决一些 OSX/Xcode 特定问题。
.DS_Store 文件可能会很痛苦。您可以使用 .gitignore 来阻止,但如果它们已经被包含,或者其他开发人员通过笨拙的 git 命令将它们添加回来会怎样?
.xcodeproj 将更改其他人的目录名称和开发人员配置文件。进行 merge 或避免冲突的最佳方法是什么?
如果我从 github 项目中 fork 或 pull,我该如何清理这些问题并为维护者最小化 merge 冲突?
如果人们有一个为 Xcode 创建的示例 .gitignore,或者他们用来初始化他们的 repos 的脚本,那就太好了!
最佳答案
将
.DS_Store
放入.gitignore
中。然后,如果您还没有,请将.gitignore
添加到存储库中。 (您不应该忽略.gitignore
。)现在所有开发人员都将忽略.DS_Store
文件。如果在将.DS_Store
放入.gitignore
之前错误地将任何内容添加到 repo,您现在可以删除它们(在提交中)并且它们应该留在外面。xcodeproj
是一个目录。此目录中唯一必须位于存储库中的文件是project.pbxproj
文件。我通常通过将这些行放在我的.gitignore
中来忽略所有其他行:*.xcuserstate project.xcworkspace/ xcuserdata/
您应该避免在build设置中放置绝对路径。使用相对路径。
您的 Debug 和 Release 构建应该使用
iPhone Developer
作为代码签名身份,这样 Xcode 会自动选择本地开发人员的配置文件。当您想要创建 IPA(用于分发)时,Xcode 将提供使用不同身份重新签名的功能,此时您可以根据需要选择您的分发配置文件。如果您尝试使用 github 中出现这些错误的项目,您可以尝试让维护者修复这些错误,或者您可以确保不要触及
.DS_Store
文件和您要向上游发送的同一提交中的代码签名身份。
关于xcode - 多开发者项目的 Xcode + Git 最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12817011/