将 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/Gitlab 而不将其添加到 .git?
Github 操作将 java 工件推送到 github repo