添加pod文件并推送,如何撤销?如何在Xcode & github中使用gitignore?

nwlls2ji  于 2022-11-18  发布在  Git
关注(0)|答案(3)|浏览(142)

这是一个由两部分组成的问题:1)我已经添加了committed并将所有pod文件推送到了github。有没有办法可以删除它们,而不会再次将它们推送到github?
2)我知道gitignore能帮上忙,但我不知道怎么用它。谁能给我介绍一下使用gitignore的过程?
所以我想我能做的是,从github那里得到这个项目,添加gitignore,然后再推一次,对吗?
请帮助,github & Xcode新手。

1zmg4dgp

1zmg4dgp1#

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

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

git rm -r Pods/

别忘了承诺和推动

2)创建gitignore文件:

1.打开终端并浏览项目文件夹.git文件夹位于该文件夹中
1.类型touch .gitignore
1.类型echo "Pods/" > .gitignore

3)(从Gabriel的注解中添加)最后一步,从遥控器中删除它们:

git rm -r --cache Pods/

更多信息:此处

hc8w905p

hc8w905p2#

这就是Cocoapods官方文档所要说的。
是否签入Pod文件夹由您决定,因为工作流因项目而异。
它建议您将Pods目录置于源代码管理之下,并且不要将其添加到. gitignore中。但最终这一决定取决于您:

签入Pod目录的优点

1.克隆repo后,项目可以立即构建并运行,即使机器上没有安装CocoaPods,也不需要运行pod install,也不需要Internet连接。

  1. Pod工件(代码/库)始终可用,即使Pod的源代码(例如GitHub)出现故障。
    1.克隆存储库后,Pod构件保证与原始安装中的构件相同。

忽略Pod目录的优点

1.源代码控制库将更小,占用更少的空间。只要所有Pod的源代码(如GitHub)都可用,CocoaPods通常能够重新创建相同的安装。(从技术上讲,当在Podfile中不使用提交SHA时,无法保证运行pod安装将获取并重新创建相同的工件。当在Podfile中使用zip文件时,尤其如此。)
2.在执行源代码控制操作时,例如合并具有不同Pod版本的分支时,将不会有任何冲突需要处理。
无论您是否签入Pod目录,PodfilePodfile.lock都应始终处于版本控制之下。
参考链接:Cocoapods官方文档

kpbwa7wx

kpbwa7wx3#

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

如果您在团队中工作,您的队友在其机器中安装Pod时可能会遇到问题,最可能的原因是Podfile.lock
总之,Podfile.lock确保您不会意外地升级所拉入的库,同时使您的Podfile只关注新的依赖项。

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

Podfile.lock会锁定第一次安装版本的项目,当您再次执行pod install时,这只会在Podfile中安装任何新库,而不会通过将现有库更新为最新代码来影响它们。
如果提取的存储库不包含/Pods,则Podfile.lock会锁定计算机中不存在的pod版本,因为.gitignore并希望这些库存在。

易于搭配的解决方案

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

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

相关问题