Xcode 工作副本“;豆荚”;提交文件失败-领域错误
由于以下错误,我无法将我的Xcode项目更改提交到Github。正如您在下面看到的,它与领域相关。我最近更新了播客。关于如何修复此问题的任何建议Xcode 工作副本“;豆荚”;提交文件失败-领域错误,xcode,swift,github,cocoapods,realm,Xcode,Swift,Github,Cocoapods,Realm,由于以下错误,我无法将我的Xcode项目更改提交到Github。正如您在下面看到的,它与领域相关。我最近更新了播客。关于如何修复此问题的任何建议 假设您想将Pods目录提交给Git,这样可以确保在签出某个修订版时始终可以编译项目,而无需在签出之前运行pod install,然后,通过在项目目录中运行以下命令,您可以重置Pods目录中暂存区域中的内容: git rm --cached -r Pods git add -A Pods echo "/Pods" >> .gitig
假设您想将
Pods
目录提交给Git,这样可以确保在签出某个修订版时始终可以编译项目,而无需在签出之前运行pod install
,然后,通过在项目目录中运行以下命令,您可以重置Pods
目录中暂存区域中的内容:
git rm --cached -r Pods
git add -A Pods
echo "/Pods" >> .gitignore
(免责声明:运行此类命令可能会丢失数据。如有必要,请熟悉它们的含义,以免意外删除要提交的内容。)
或者,您可以将Pods
目录添加到.gitignore
文件中。这将确保您将来无法提交Pods
目录,但在更改Podfile.lock
后,必须运行pod install
,例如切换分支、协作和在CI上
您可以通过在项目目录中的shell上执行以下命令来实现这一点:
git rm --cached -r Pods
git add -A Pods
echo "/Pods" >> .gitignore
完成此操作后,需要将更改提交到.gitignore
存储库。此外,我建议您向您的存储库提交一份专门的文件,在那里删除Pods
目录下的文件。这将只影响存储库内容,而不影响本地签出
CocoaPods指南“使用CocoaPods”有一章,详细讨论了以下优点和缺点: 我应该将Pods目录检查到源代码管理中吗? 您是否签入
Pods
文件夹取决于您,如下所示:
工作流因项目而异。我们建议您保留
将目录置于源代码管理下,不要将其添加到
.gitignore
。但最终这一决定取决于你:
签入Pods目录的好处
- 克隆repo后,即使没有在机器上安装cocoapod,项目也可以立即构建和运行。没有
需要运行
,无需Internet连接pod安装
- Pod工件(代码/库)总是可用的,即使Pod的源代码(例如GitHub)要关闭
- 克隆repo后,Pod工件保证与原始安装中的工件相同
- 源代码管理repo将更小,占用更少的空间
- 只要所有POD的源代码(例如GitHub)都可用,CocoaPods通常能够重新创建相同的安装。
(从技术上讲,无法保证运行
将 在中不使用提交SHA时获取并重新创建相同的工件 Podfile。在中使用zip文件时尤其如此 播客文件。)pod install
- 在执行源代码管理操作时,不会有任何冲突需要处理,例如合并具有不同Pod的分支 版本
Pods
目录,Podfile
和
Podfile.lock
应始终处于版本控制之下
此外,您可能需要检查
.gitignore
是否可以改进。例如,我可以从截图中看出,您的Xcode项目中有一个xcuserdata
目录,Git不会忽略它。这些是特定于用户的配置文件,不一定属于存储库。如果您与其他人协作,忽略这些会减少回购的规模和拉取请求中的噪音,并使更改集更易于查看。但如上所述,最终取决于你,你是否想让他们入住。GitHub托管一个众包存储库,其中包含多种语言的文件模板。这可能是一个很好的起点。因此,您似乎将Pods
目录签入git。您能否在Terminal.app的项目目录中运行git status
,并在此处显示输出?根据您的评论,我假设我不应该将“Pods”文件夹提交给Github。这是在我升级到最新的Xcode时发生的。以前从未有过这样的选择。输出太长。将使用屏幕截图编辑我的帖子。