将 pod 文件和应用程序扩展推送到 Github 的问题

Posted

技术标签:

【中文标题】将 pod 文件和应用程序扩展推送到 Github 的问题【英文标题】:Problems with pushing pod files and app extensions to Github 【发布时间】:2017-04-22 18:30:49 【问题描述】:

我在 Github 上遇到了一些问题:

当我将我的 Xcode 项目推送到 github 时,它似乎不会推送有关 pod 和应用程序扩展的所有文件,因为当我将项目拉到我的另一台 Mac 上时,我会遇到很多错误,即原文件中没有。

提前致谢!

【问题讨论】:

文件未签入。发布您的.gitignore 文件。对于 pod,pod install 可能会修复错误。 如何发布我的 .gitignore 文件?我已经尝试过“pod install”,但它没有用...... @shallowThought @Magnus 请更新您的标题:您似乎已经明白,是 没有推送文件,而不是 Github。接下来,按照我的回答中的步骤,使用.gitignore 文件的内容更新您的问题,以便我们继续解决您的问题。 【参考方案1】:

经过大量测试,我找到了答案。当我使用终端中的命令行将项目推送到 Github 时,而不是 Xcode 中的快捷方式,我看到这些文件没有“添加”到提交中(我通过键入:git status 进行了检查)。然后我所要做的就是在终端中写入:git add -A 添加所有文件。我提交并将它们推送到 Github,现在一切正常!

感谢我得到的所有帮助!

【讨论】:

【参考方案2】:

根据 shallowThought 的建议,使用您的 .gitignore 文件扩展您的问题,这样我们就可以识别可能阻止 git 跟踪 pod 和扩展的行。

如果您不确定如何查找和复制此 .gitignore 文件,请执行以下操作:

    在 Xcode 中,在左侧打开 Project Navigator(文件夹图标)并选择您的项目(通常是列表中的顶部项目)。 从文件菜单中,选择在Finder中显示。 Finder 将打开并选择<your-project>.xcodeproj。如果您没有看到包含<your-project>.xcodeproj 的文件夹,请按⌘ 3 告诉Finder 以列形式查看。 取消选择<your-project>.xcodeproj,而是将包含它的文件夹拖到终端图标上(通常位于屏幕底部)。如果终端不存在,首先启动终端;例如按⌘ Space 并输入终端。 现在,终端在您的 .gitignore 文件通常所在的同一位置显示命令行 -从技术上讲,它可以在任何子文件夹中。 键入pbcopy < .gitignore,后跟Enter,将文件内容复制到剪贴板。

…现在发布您问题中的内容。


另一种检查 git 是否确实没有跟踪您想要的文件的方法是打开终端,并运行以下命令 (from this answer):git ls-tree -r HEAD --name-only 如果 Git 没有跟踪您需要的文件,它们将不在列表中。


如果您想自己解决这个问题,最好的办法是从 .gitignore 文件中删除阻止 Pods 等被跟踪的行。所以,你实际上是在做与this SO answer相反的事情;-) 在第 3 步中,键入 open -a "TextEdit" .gitignore,然后键入 Enter 以打开文件。 然后删除您不想忽略的行。保存。现在您可以将文件添加/提交/推送到 GitHub。

【讨论】:

感谢您的帮助@PDK!在您的第二个建议中,我在终端中得到了很多名字,但是当我在终端中尝试open -a "TextEdit" .gitignore 时,我得到了答案:.gitignore does not exist.。我应该创建一个 .gitignore 文件还是只是隐藏在其他地方? “大量名称”,但不是您正在寻找的 Pod 和扩展?那么他们可能确实被忽略了。在第 5 步中,我们假设 .gitignore 将在该文件夹中;但是,它可以位于子文件夹中。要尝试查找其他 .gitignore 文件,请键入 find . -name .gitignore (***.com/a/5905066/3419541) 嗨@PDK。当我执行此命令时,我认为可能找到了.gitignore 文件:/.cocoapods/repos/master/.gitignore,但我找不到打开该文件的方法...

以上是关于将 pod 文件和应用程序扩展推送到 Github 的问题的主要内容,如果未能解决你的问题,请参考以下文章

无法将提交推送到GitHub上新创建的存储库

将文件推送到 Github/Gitlab 而不将其添加到 .git?

Github 操作将 java 工件推送到 github repo

使用 Git Bash/Terminal 将文件推送到 Github 存储库的特定目录

如何将项目文件夹从IDEA推送到Github存储库

无法将新存储库推送到 github