Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode 工作副本“;豆荚”;提交文件失败-领域错误_Xcode_Swift_Github_Cocoapods_Realm - Fatal编程技术网

Xcode 工作副本“;豆荚”;提交文件失败-领域错误

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

由于以下错误,我无法将我的Xcode项目更改提交到Github。正如您在下面看到的,它与领域相关。我最近更新了播客。关于如何修复此问题的任何建议


假设您想将
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,项目也可以立即构建和运行。没有 需要运行
    pod安装
    ,无需Internet连接
  • Pod工件(代码/库)总是可用的,即使Pod的源代码(例如GitHub)要关闭
  • 克隆repo后,Pod工件保证与原始安装中的工件相同
忽略Pods目录的好处
  • 源代码管理repo将更小,占用更少的空间
  • 只要所有POD的源代码(例如GitHub)都可用,CocoaPods通常能够重新创建相同的安装。 (从技术上讲,无法保证运行
    pod install
    将 在中不使用提交SHA时获取并重新创建相同的工件 Podfile。在中使用zip文件时尤其如此 播客文件。)
  • 在执行源代码管理操作时,不会有任何冲突需要处理,例如合并具有不同Pod的分支 版本
无论您是否签入
Pods
目录,
Podfile
Podfile.lock
应始终处于版本控制之下



此外,您可能需要检查
.gitignore
是否可以改进。例如,我可以从截图中看出,您的Xcode项目中有一个
xcuserdata
目录,Git不会忽略它。这些是特定于用户的配置文件,不一定属于存储库。如果您与其他人协作,忽略这些会减少回购的规模和拉取请求中的噪音,并使更改集更易于查看。但如上所述,最终取决于你,你是否想让他们入住。GitHub托管一个众包存储库,其中包含多种语言的文件模板。这可能是一个很好的起点。

因此,您似乎将
Pods
目录签入git。您能否在Terminal.app的项目目录中运行
git status
,并在此处显示输出?根据您的评论,我假设我不应该将“Pods”文件夹提交给Github。这是在我升级到最新的Xcode时发生的。以前从未有过这样的选择。输出太长。将使用屏幕截图编辑我的帖子。