添加了pod文件并推送。如何撤消?如何在Xcode&中使用gitignore GitHub的?

时间:2015-12-11 18:27:42

标签: xcode github cocoapods gitignore

这是一个两部分问题: 1)我已添加已提交并将所有pod文件推送到github。有没有办法可以删除它们而不是再将它们推送到github?

2)我知道giti​​gnore可以提供帮助,但我不知道如何使用它。任何人都可以指导我完成使用gitignore的过程吗?

所以我认为我能做的是,从github获取项目,添加gitignore,然后再次推送。那是对的吗?

请帮助,github& Xcode中。

3 个答案:

答案 0 :(得分:56)

这是正确的,您需要将Pods目录添加到 .gitignore

1)从github存储库中删除文件:

this->newsockfd_

并且不要忘记提交和推送

2)创建一个gitignore文件:

  1. 打开终端并浏览 .git文件夹所在的项目文件夹
  2. 输入git rm -r Pods/
  3. 输入touch .gitignore
  4. 更多信息:here

答案 1 :(得分:11)

Cocoapods 官方文档必须说明这一点。

您是否签入Pods文件夹取决于您,因为工作流程因项目而异。
它建议您将 Pods 目录保留在源代码管理下,并且不要将其添加到.gitignore。但最终这个决定取决于你:

检入Pods目录的好处

  1. 克隆了repo后,即使没有在机器上安装CocoaPods,项目也可以立即构建和运行。无需运行pod安装,也无需连接Internet。
  2. Pod工件(代码/库)始终可用,即使Pod的源(例如GitHub)发生故障也会消失。
  3. 克隆回购后,保证Pod工件与原始安装中的工件相同。
  4. 忽略Pods目录的好处

    1.源控制仓库将更小并占用更少的空间。 只要所有Pod的源(例如GitHub)可用,CocoaPods通常能够重新创建相同的安装。 (从技术上讲,无法保证在Podfile中不使用提交SHA时,运行pod安装将获取并重新创建相同的工件。在Podfile中使用zip文件时尤其如此。)

    2.执行源代码控制操作时不会遇到任何冲突,例如合并具有不同Pod版本的分支。

    无论您是否登录Pods目录, Podfile Podfile.lock 应始终保留在版本控制下。

    参考链接:Cocoapods Official Documentation

答案 2 :(得分:1)

/Pods添加到.gitignore时要注意的事项

如果您在团队中工作,您的队友在将Pod安装到他们的计算机中时可能会遇到问题,最可能的原因是Podfile.lock

总而言之,Podfile.lock确保在使Podfile仅关注新依赖项的同时,不会意外升级引入的库。

为什么Podfile.lock可能会引起问题?

Podfile.lock锁定首次安装版本的项目,并且当您再次执行pod install时,这只会在Podfile中安装任何新库,并且不会通过更新来影响您现有的库他们到最新的代码。

如果拉回购不包含/Pods,则Podfile.lock会锁定由于.gitignore而在您的计算机中不存在的Pod版本,并期望这些库已存在。

易于使用的解决方案

只需删除Podfile.lock,然后执行pod install,您安装的Pod版本将再次生成Podfile.lock

注意:在删除Podfile.lock并安装了广告连播之后,您可能会与团队以外的其他版本的连拍进行交互。