【问题标题】:Why Cocoapods ignored when pushing to Git?为什么 Cocoapods 在推送到 Git 时会被忽略?
【发布时间】:2017-05-26 11:34:29
【问题描述】:

作为 POC,我创建了一个新的存储库(在 BitBucket 上)并尝试推送一个虚拟项目,一切正常;我尝试在具有 cocoapods 的实际项目上应用相同的完全相同的过程,它已成功推送,但是当我尝试检查它时,我得到了没有 pod 的源代码!

我查看了 repo 的来源,它确实包含 pod 目录。

这是我尝试推送的文件(16 个文件和文件夹,192MB 大小):

这就是 repo 包含的内容(14 个文件和文件夹 121MB 大小):

请注意,我的本地计算机(Pod 和小部件)中的最后两个文件夹在 repo 中不是

没有 .gitignore 文件。

另外,我检查了:

没有任何有用的结果。

任何建议将不胜感激。

【问题讨论】:

  • 您是否git add Pods 目录及其内容?如果你做git status,那会告诉你什么? Pod 目录?我不是说你应该添加它,但如果你认为它应该在你的回购中而它不是,那么你必须问。

标签: ios xcode git cocoapods bitbucket


【解决方案1】:

CocoaPods is a dependency manager:

项目的依赖项在一个名为 Podfile 的文本文件中指定。 CocoaPods 将解析库之间的依赖关系,获取生成的源代码,然后在 Xcode 工作区中将它们链接在一起以构建您的项目。

您可以运行 pod install 为您的项目安装 pod,这将创建并填充 Pods/ 目录。

即使没有.gitignore 文件,Pods/ 目录也不在您的存储库中的原因可能是它包含其他 Git 存储库(即包含自己的 .git/ 目录的目录)。 Git 不跟踪嵌套的存储库。

(Xcode 也有可能默认忽略该目录,但我不是 iOS 开发人员,所以我不能确定。)

【讨论】:

  • 感谢您的回答。在阅读了一些与 this subject- 相关的文章后,我发现推送 pod 是个好主意……你认为我应该关注 this approach 吗?
  • @AhmadF,子模块很有用,但它们的工作方式与许多人的期望不同。花一些时间了解它们以查看它们是否适合您的情况非常重要。您是否确认您的 Pods/ 目录确实包含其他 Git 存储库?
  • 我所做的是手动添加Pods/,如this answer 中所述,它工作正常,实际上,Pods/ 中的每个目录应该是一个单独的 repo,这就是 CocoaPods 的工作原理(我假设正如您的回答中提到的那样,这就是它被忽略的原因),但奇怪的是我检查了目录并且每个目录都没有 .git 目录,但如果这有用,那么有一个“README.md”文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-06-14
  • 2020-12-10
  • 2013-06-22
  • 1970-01-01
  • 2018-12-22
  • 2022-11-03
  • 1970-01-01
相关资源
最近更新 更多