繁体   English   中英

添加 pod 文件并推送。 如何撤消? 如何在 Xcode 和 github 中使用 gitignore?

[英]Added pod files and pushed. How to undo? how to use gitignore in Xcode & github?

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

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

所以我觉得我能做的就是,从github上获取项目,添加gitignore,然后再push。 那是对的吗?

请帮助,github 和 Xcode 新手。

没错,您需要将 Pods 目录添加到您的.gitignore

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

git rm -r Pods/

并且不要忘记提交和推送

2)创建一个gitignore文件:

  1. 打开终端并浏览.git 文件所在的项目文件
  2. 输入touch .gitignore
  3. 输入echo "Pods/" > .gitignore

更多信息: 这里

这就是Cocoapods官方文档要说的。

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

签入 Pods 目录的好处

  1. 克隆 repo 后,项目可以立即构建和运行,即使机器上没有安装 CocoaPods。 不需要运行 pod install,也不需要 Internet 连接。
  2. Pod 工件(代码/库)始终可用,即使 Pod 的源(例如 GitHub)已关闭。
  3. 克隆 repo 后,Pod 工件保证与原始安装中的工件相同。

忽略 Pods 目录的好处

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

2.在进行源码控制操作时不会有任何冲突需要处理,例如合并不同Pod版本的分支。

无论您是否检查 Pods 目录, PodfilePodfile.lock都应始终处于版本控制之下

参考链接: Cocoapods 官方文档

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

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

总之, Podfile.lock确保您不会意外升级您Podfile的库,同时让您的Podfile只关注新的依赖项。

为什么Podfile.lock可能会导致问题?

Podfile.lock使用第一次安装的版本锁定项目,当您再次执行pod install时,这只会安装Podfile任何新库,并且不会通过将它们更新为最新代码来影响您现有的库。

如果拉取 repo 不包含/PodsPodfile.lock锁定由于.gitignore而在您的机器中不存在的Podfile.lock版本,并期望这些Podfile.lock在。

易于使用的解决方案

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

注意:删除Podfile.lock并安装 Pod 后,您可能会与与团队不同版本的 Pod 进行交互。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM