这是一个由两部分组成的问题:1)我已经添加了committed并将所有pod文件推送到了github。有没有办法可以删除它们,而不会再次将它们推送到github?2)我知道gitignore能帮上忙,但我不知道怎么用它。谁能给我介绍一下使用gitignore的过程?所以我想我能做的是,从github那里得到这个项目,添加gitignore,然后再推一次,对吗?请帮助,github & Xcode新手。
1zmg4dgp1#
正确,您需要将Pods目录添加到 .gitignore
1)从github存储库中删除文件:
git rm -r Pods/
别忘了承诺和推动
2)创建gitignore文件:
1.打开终端并浏览项目文件夹,.git文件夹位于该文件夹中1.类型touch .gitignore1.类型echo "Pods/" > .gitignore
touch .gitignore
echo "Pods/" > .gitignore
3)(从Gabriel的注解中添加)最后一步,从遥控器中删除它们:
git rm -r --cache Pods/
更多信息:此处
hc8w905p2#
这就是Cocoapods官方文档所要说的。是否签入Pod文件夹由您决定,因为工作流因项目而异。它建议您将Pods目录置于源代码管理之下,并且不要将其添加到. gitignore中。但最终这一决定取决于您:
签入Pod目录的优点:
1.克隆repo后,项目可以立即构建并运行,即使机器上没有安装CocoaPods,也不需要运行pod install,也不需要Internet连接。
忽略Pod目录的优点:
1.源代码控制库将更小,占用更少的空间。只要所有Pod的源代码(如GitHub)都可用,CocoaPods通常能够重新创建相同的安装。(从技术上讲,当在Podfile中不使用提交SHA时,无法保证运行pod安装将获取并重新创建相同的工件。当在Podfile中使用zip文件时,尤其如此。)2.在执行源代码控制操作时,例如合并具有不同Pod版本的分支时,将不会有任何冲突需要处理。无论您是否签入Pod目录,Podfile和Podfile.lock都应始终处于版本控制之下。参考链接:Cocoapods官方文档
kpbwa7wx3#
/Pods
.gitignore
如果您在团队中工作,您的队友在其机器中安装Pod时可能会遇到问题,最可能的原因是Podfile.lock。总之,Podfile.lock确保您不会意外地升级所拉入的库,同时使您的Podfile只关注新的依赖项。
Podfile.lock
Podfile
Podfile.lock会锁定第一次安装版本的项目,当您再次执行pod install时,这只会在Podfile中安装任何新库,而不会通过将现有库更新为最新代码来影响它们。如果提取的存储库不包含/Pods,则Podfile.lock会锁定计算机中不存在的pod版本,因为.gitignore并希望这些库存在。
pod install
只需删除Podfile.lock,然后执行pod install,Podfile.lock将使用您安装的pod版本再次生成。
**注意:**删除Podfile.lock并安装Pod后,您可能会与团队以外的不同版本的Pod进行交互。
3条答案
按热度按时间1zmg4dgp1#
正确,您需要将Pods目录添加到 .gitignore
1)从github存储库中删除文件:
别忘了承诺和推动
2)创建gitignore文件:
1.打开终端并浏览项目文件夹,.git文件夹位于该文件夹中
1.类型
touch .gitignore
1.类型
echo "Pods/" > .gitignore
3)(从Gabriel的注解中添加)最后一步,从遥控器中删除它们:
更多信息:此处
hc8w905p2#
这就是Cocoapods官方文档所要说的。
是否签入Pod文件夹由您决定,因为工作流因项目而异。
它建议您将Pods目录置于源代码管理之下,并且不要将其添加到. gitignore中。但最终这一决定取决于您:
签入Pod目录的优点:
1.克隆repo后,项目可以立即构建并运行,即使机器上没有安装CocoaPods,也不需要运行pod install,也不需要Internet连接。
1.克隆存储库后,Pod构件保证与原始安装中的构件相同。
忽略Pod目录的优点:
1.源代码控制库将更小,占用更少的空间。只要所有Pod的源代码(如GitHub)都可用,CocoaPods通常能够重新创建相同的安装。(从技术上讲,当在Podfile中不使用提交SHA时,无法保证运行pod安装将获取并重新创建相同的工件。当在Podfile中使用zip文件时,尤其如此。)
2.在执行源代码控制操作时,例如合并具有不同Pod版本的分支时,将不会有任何冲突需要处理。
无论您是否签入Pod目录,Podfile和Podfile.lock都应始终处于版本控制之下。
参考链接:Cocoapods官方文档
kpbwa7wx3#
将
/Pods
添加到.gitignore
时需要注意的事项如果您在团队中工作,您的队友在其机器中安装Pod时可能会遇到问题,最可能的原因是
Podfile.lock
。总之,
Podfile.lock
确保您不会意外地升级所拉入的库,同时使您的Podfile
只关注新的依赖项。为什么
Podfile.lock
可能会导致问题?Podfile.lock
会锁定第一次安装版本的项目,当您再次执行pod install
时,这只会在Podfile
中安装任何新库,而不会通过将现有库更新为最新代码来影响它们。如果提取的存储库不包含
/Pods
,则Podfile.lock
会锁定计算机中不存在的pod版本,因为.gitignore
并希望这些库存在。易于搭配的解决方案
只需删除
Podfile.lock
,然后执行pod install
,Podfile.lock
将使用您安装的pod版本再次生成。**注意:**删除
Podfile.lock
并安装Pod后,您可能会与团队以外的不同版本的Pod进行交互。