在 Xcode 4 中,如何将远程 GitHub 存储库添加到现有的本地项目?

2024-03-16

Xcode 4 中的 Git 集成非常受欢迎,但在处理远程存储库时它似乎有点不稳定。 为了清楚起见,我使用 OS X 版本 10.6.7 和 Xcode 4.0.2 (4A2002a)。

如果我创建一个新的 Xcode 4 项目并接受创建本地 Git 存储库的选项,那么一切都很好。我可以在本地进行承诺,这很棒。

当我想将新项目推送到 GitHub 时,我想添加一个远程存储库并将本地更改推送到 GitHub。我可以将 GitHub 存储库添加到 Xcode 4 作为“管理器”窗口中的新存储库,但无法将其设置为现有项目的远程存储库。

所以我转而在终端中使用 git 命令。

git remote add origin https://<username>@github.com/<organization>/<repository>.git

如果我然后返回 Xcode 4 并尝试使用

文件 -> 源代码管理 -> 推送...

那么选择要将更改推送到的存储库。出现对话框,列出origin远程存储库。有一个黄色指示器表示需要身份验证,这很好,因为我还无法输入 HTTPS 的凭据。 但是,当我单击“推送”并尝试推送更改时,它显示“无法执行该操作,因为对存储库“来源”的访问被拒绝。”

然后会出现一个对话框,提示我输入用户名和密码,其中包含我预先填写的内容,因此它必须从本地存储库的配置中正确读取此信息。

当我输入密码时,Xcode 4 崩溃并出现以下错误

ASSERTION FAILURE in /SourceCache/IDEKit/IDEKit-303/Framework/Classes/SourceControl/IDESourceControlOperationInfo.m:59
Details:  Message sent to invalidated object: <IDESourceControlPushOperationInfo, 0x200bd2a80>. Backtrace for invalidation:
 (null)
Object:   <IDESourceControlPushOperationInfo: 0x200bd2a80>
Method:   -invalidate
Thread:   <NSThread: 0x200020700>{name = (null), num = 1}
Hints:   None

如果我重新启动 Xcodeorigin存储库已添加到管理器中的存储库浏览器中,我可以在 GitHub 上看到主分支,因此我知道凭据是正确的,而无需我更改任何内容。

有没有人找到一种可靠的方法,首先从本地项目开始,将 Xcode 4 与 GitHub 结合使用?

如果我克隆一个包含 Xcode 项目的现有 GitHub 存储库,用 Xcode 4 打开它,那么即使第一次推送似乎失败了,第二次推送也可以工作。因此,也许用 Xcode 4 从头开始​​为我创建存储库并不是最好的模式(直到他们在更高版本的 Xcode 4 中改进了 Git 工具)。

编辑一种解决方法的更多详细信息

此示例仅适用于您添加到 GitHub 存储库的第一个项目。因此,我认为您最好执行以下步骤,并记住此解决方案中似乎仍然存在一些 Xcode“陷阱”。

  1. 项目清单
  2. 欢迎使用 Xcode 对话框中的“连接到存储库”。
  3. 使用 GitHub SSH URL 作为位置
  4. 给它起个名字(存储库名称)并克隆到目录
  5. 即使内容已下载,第一次尝试似乎仍失败
  6. 再试一次,就可以了。
  7. 现在,在 Organizer 窗口中定义了一个新的存储库,其来源设置为 GitHub 远程 SSH URL。
  8. 在刚刚克隆到的目录中创建一个新项目,但不要勾选“为此项目创建本地 git 存储库”选项。
  9. 对本地 Git 存储库进行初始提交。
  10. 尝试源代码控制 -> 推送,Xcode 4 失败并显示“由于访问存储库而无法执行操作”存储库名称被否决。检查用户名和密码'
  11. 尝试源代码控制 -> 推送,Xcode 4 再次弹出远程存储库对话框,但这次检测到一个名为origin。旁边有一个黄色球和“需要身份验证”。
  12. 再次单击“推送”会使远程推送生效。

我发现但尚未解决的一件事是,从 GitHub 返回的响应消息以及签入哈希值和任何消息似乎都会在 Xcode 日志导航器中报告为推送失败,即使推送是成功的GitHub 很关心。

还有其他人有更好的解决方案吗?


我想我找到了 Xcode 方式将现有项目推送到 GitHub 或任何其他远程存储库!

前提条件

  • 我假设你有一个由 Xcode 4 创建的项目with本地 git 存储库。
  • 您创建了一个空的远程 git 存储库(我称之为远程存储库在下面的例子中)

将其推送到远程

  1. 打开组织者在 Xcode 中转到存储库 tab

  2. 首先点击Remotes然后点击“添加远程”

  3. Enter a 远程名称Location远程存储库并单击创建

  4. 然后选择你的项目并打开File -> Source Control -> Push ...

  5. 选择您的远程存储库并等待它可连接!寻找Create在括号中。

  6. 现在您的旧项目已发布到 GitHub

我希望它也对你有用!就我而言,它适用于每个远程 git 存储库.

请联系我twitter https://twitter.com/tim_krueger如果有什么不清楚或用不好的英文写的!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Xcode 4 中,如何将远程 GitHub 存储库添加到现有的本地项目? 的相关文章

  • Git:如何变基到特定提交?

    我想变基到特定的提交 而不是另一个分支的 HEAD A B C master D topic to A B C master D topic 代替 A B C master D topic 我怎样才能做到这一点 您可以通过在您喜欢的提交上创
  • git diff 在尖括号中显示 unicode 符号

    我有一个带有 unicode 符号 俄语文本 的文件 当我修复一些拼写错误时 我使用git diff color words 看看我所做的改变 如果是 unicode 西里尔文 符号 尖括号会造成一些混乱 如下所示 cat p1 cat p
  • SSH 到 Openshift 服务器失败

    我正在 openshift 服务器上使用 jboss catridge 我希望与其他人共享此实例并添加其他用户的公钥 id rsa pub 当其他人尝试访问该实例时 他会收到以下错误 我在他的实例中尝试了同样的方法 但看到了同样的错误 与
  • 代表 Git 存储库的数学结构是什么

    我正在学习 Git 如果我能描述一下代表 Git 存储库的数学结构 那就太好了 例如 它是一个有向无环图 它的节点代表提交 它的节点有代表分支等的标签 每个节点最多一个标签 没有标签使用两次 我知道这个描述不正确 我只是想解释我正在寻找的内
  • git diff - 只显示哪些目录发生了变化

    有没有办法只列出已更改的目录 如果我在 git root 的话 project 我更改的文件是 project subtool file1 project subtool file2 project subtool3 file1 我只是想
  • readthedocs 中自动生成的索引文件

    我无法上传到阅读文档 http docs readthedocs io en latest 我为我的项目准备的文档 我正在尝试了解问题所在 该文档在本地构建良好make html但我无法上传 GitHub 项目是ASCII基因组 https
  • git push heroku master 权限被拒绝

    我正在关注 ruby railstutorial 我运行命令 git push heroku master 它吐出了这个错误 Permission denied publickey fatal Could not read from rem
  • git Push over sshfs 失败,并显示“关闭 sha1 文件时出错:错误的文件描述符”

    我们使用 sshfs 通过 SSH 安装文件系统 并将其用作 git 存储库协作的远程存储 Mac OSX 10 6 6 到 RHEL 3 服务器 SSHFS 版本 2 2 MacFUSE SSHFS 2 2 0 MacFUSE 库版本 F
  • `git ls-files -s` 输出中不同字段的含义是什么?

    在 Git 中 命令返回的典型结果行git ls files s好像 100755 be2c2e9b0966253096472d4b482c458bc892e493 0 gitignore 这些字段是什么意思 不用再犹豫了git ls fi
  • 哪个是更智能的 git 协议,ssh 或 git(通过 ssh)或 https 协议?

    哪个高效 SSH 或 Git 文件压缩 我对 Git 的理解是 git 协议很智能 因为通信两端都有一个协议代理来压缩文件传输 从而通过有效地使用网络带宽来实现更快的克隆 From 我发现了以下说法 For secure authentic
  • git config --global user.email 重新安装后不会让我更改电子邮件

    嘿 我完全重新安装了 Github 删除了所有文件 现在我再次安装了它 但是当我尝试设置它时 我遇到了一些问题 git config global user email 电子邮件受保护 cdn cgi l email protection
  • 我可以直接从我的谷歌云端硬盘在线推送/拉取吗?

    有一些方法可以通过谷歌驱动器同步 Windows 应用程序将我的本地 git 存储库同步到我的谷歌驱动器 但我想知道我是否可以完全绕过它的需要 Fro eg git remote add origin https drive google
  • Netbeans 和 Git,.obj 文件被忽略

    我正在开发一个涉及 obj 文件的小型 git 项目 当我查看 项目选项卡 时 我发现它们被忽略了 但如果我查看我的 gitignore 我无法理解为什么 DepthPeeling nbproject private DepthPeelin
  • git 日志历史记录图,每次提交一行,彩色,带有日期

    我需要的格式如下 git log decorate graph oneline date order 但我也需要它 包含日期 短 具有相同的颜色 I tried git log decorate graph oneline date ord
  • 如何删除 GitHub markdown 项目符号/列表上的额外行空间?

    GitHub 的 Markdown 代码 1 First item subitem 1 Second item 之间产生很大的空间First Second和subitem 如何制作subitem靠近第一个项目 而不是正好在它们的中间 这是我
  • `git Reset HEAD file` 是否也检查该文件?

    我错误地向 git 添加了一个目录 当我按照提示操作时here https stackoverflow com questions 348170 undo git add通过执行以下操作来撤消添加git reset HEAD
  • 如何在 macOS 上将 Git 升级到最新版本?

    我刚刚购买了一台装有 OS X Lion 的新 Mac 我在终端中检查了默认安装的 git 版本 我得到了答案 git version gt git version 1 7 5 4 我想将 git 升级到最新版本 1 7 8 3 因此我下载
  • 创建一个空分支?

    我有一个包含项目的 git 存储库 我现在要对这个项目进行大规模的修改 如何为这次大修创建一个空白的新分支 然后当完成时 如何将这个分支切换到master 使用 checkout orphan 命令 git checkout orphan
  • git 提交错误:检测到大文件

    您好 我正在为 ios 8 1 开发一个应用程序 xcode 我已经使用 googleMaps 框架来实现自动完成功能 当我尝试在 Git 中推送我的项目时 我收到大文件检测错误 后来尝试使用 git lfs 并跟踪 git 检测到的文件
  • 当当前分支上有未提交的更改时签出另一个分支

    大多数时候 当我尝试签出另一个现有分支时 如果我在当前分支上有一些未提交的更改 Git 会不允许我这样做 所以我必须首先提交或隐藏这些更改 然而 有时 Git 确实允许我在不提交或存储这些更改的情况下签出另一个分支 并且它会将这些更改携带到

随机推荐

  • 将数据类型 varchar 转换为数字动态数据透视表时出错

    我收到标题中描述的错误 其中我的代码如下所示 declare cols numeric 10 0 sql numeric 10 0 select cols isnull cols T AmountPayd from select disti
  • 将 AST 节点转换为 python 代码

    假设我有以下字符串 code if 1 1 and 2 2 and 3 3 test 1 以下代码将该字符串转换为 AST ast parse code 然后我有一棵树 Module body lt ast If object at 0x1
  • 如何使用 Firebase 刷新令牌来持久进行身份验证?

    我几周来一直试图解决这个问题 但似乎无法理解文档或其他东西 我很感激你能提供的任何帮助 我正在使用 Firebase SDK 我有我的服务器端路由 我可以在其中访问令牌并将其发送到前端 const admin require firebas
  • 如何正确获取在 AppEngine 上运行的 NodeJS 中的云功能的令牌?

    我在获取正确的令牌来触发我的云功能时遇到问题 通过 POSTMAN 测试时 我通过运行以下命令获取令牌 gcloud auth print identity token 我的功能工作正常 但在我的服务器上我使用以下代码 我也确实看到了该令牌
  • 2 个相互关联的案例陈述

    我对 SQL 编码比较陌生 并且有一个关于 case 语句的问题 我想要实现的目标 我想创建一个用于计算正确的过时规定的查询 为此 我需要创建一个名为的列Inventory Reach和一个叫Devaluation Class 这两个字段都
  • 如何导入和导出 JBPM 6.5 存储库

    我想问您是否知道如何在不同的 Kie Workbench 之间导出和导入 JBPM 项目 我正在使用 JBPM 6 5 谢谢 使用 Git 可能是唯一合理的方法 按照此顺序 可以将项目放入 git 存储库 然后将其导入到其他实例 在装有 j
  • 抛出检查异常

    我在Java中的一些方法会抛出异常 例如NoSuchElementException IllegalArgumentException等 但是当使用这些方法时 这些异常似乎是未经检查的 换句话说 我的方法的调用者不需要对抛出这些异常的方法执
  • 在 Ruby on Rails 5 中禁用 ActiveRecord

    我是 Rails 的新手 我想在 Rails 5 中禁用 ActiveRecord 我已经找到了几个答案Here https stackoverflow com questions 28319002 how do i remove acti
  • 将整数列表传递给 GET REST API

    我想从前端的数据库中获取实体列表 所以我在 Spring MVC 中编写了 POST REST HTTP 调用 但我读过 HTTP 文档 其中说每当您必须从数据库检索数据时 更喜欢 GET 调用 那么 是否有任何我可以将 Angular J
  • 如何在android中加载低质量然后高质量的图像(就像WhatsApp个人资料图像)

    我正在寻找一种可以使用的设计模式 以便在 android recyclerView 中我可以以低质量快速加载图像 然后还可以调用高质量图像将 之后重写低质量图像 我经常看到先加载低质量图像 然后再加载高质量图像 但是 这是如何在回收器视图的
  • Javascript 在日期对象本身中设置时区,如 setTimeOffset() [重复]

    这个问题在这里已经有答案了 我想更改 Date 对象本身的时区 因为设备 网络浏览器 本身不支持时区 我怎么改变它 例如 var date new Date Value is Mon Jun 19 2017 10 00 08 GMT 000
  • Android 显式 Intent 抛出 NoClassDefFounderror

    我正在尝试使用明确的意图在我的 Android 应用程序中显示 MapView 尽管我没有发现我的代码有任何问题 但当我尝试启动我的活动时 我不断收到 NoClassDefFoundError 基本上 从我的主要活动 SetCriteria
  • 多线程Python网络爬虫卡住了

    我正在编写一个Python网络爬虫 我想让它成为多线程的 现在我已经完成了基本部分 以下是它的作用 一个线程从队列中获取一个url 线程从页面中提取链接 检查链接是否存在于池 集合 中 并将新链接放入队列和池中 该线程将 url 和 htt
  • 在 angularjs 中提交时显示验证错误消息

    我有一个表单 如果单击 提交 则需要显示验证错误消息 这是一个工作plunker http plnkr co edit nYPzEO8d3SKuFk4KBn1o p preview
  • 在没有 numpy polyfit 的情况下在 python 中拟合二次函数

    我正在尝试将二次函数拟合到某些数据 并且我尝试在不使用 numpy 的 polyfit 函数的情况下执行此操作 从数学上讲我试图关注这个网站https neutrium net mathematics least squares fitti
  • 谷歌地图无法在科尔多瓦加载

    目前我正在尝试构建一个应该使用谷歌地图的 Cordova 应用程序 以便我可以显示路线和内容 出于测试原因 我还在服务器上放置了代码 一切都运行良好 地图可能正在加载 但是当我将项目转换为 Cordova 应用程序时 谷歌地图无法加载 我不
  • PHP 中的 ZLIB 支持是否默认启用?

    在 phpmanual 的文档中它说 PHP 中的 Zlib 支持默认未启用 您将需要 配置 PHP with zlib DIR Windows 版本的 PHP 内置了对此扩展的支持 您无需加载任何额外的扩展即可使用 这些功能 正如它所说
  • HTTP POST => 302 重定向到 GET 的正确预期行为是什么?

    POST gt 302 重定向到 GET 的正确行为是什么 在 Chrome 也可能是大多数浏览器 中 在我 POST 到希望我重定向的资源 并收到 302 重定向后 浏览器会自动在 302 位置发出 GET 这甚至是一个众所周知的模式 h
  • AuthError - 错误:Amplify 尚未正确配置

    首先 我已经使用成功完成了我的反应应用程序的配置amplify configure 我在以下人员的帮助下做到了AWS 放大文档 https docs amplify aws cli start install 然后我已成功将身份验证添加到我
  • 在 Xcode 4 中,如何将远程 GitHub 存储库添加到现有的本地项目?

    Xcode 4 中的 Git 集成非常受欢迎 但在处理远程存储库时它似乎有点不稳定 为了清楚起见 我使用 OS X 版本 10 6 7 和 Xcode 4 0 2 4A2002a 如果我创建一个新的 Xcode 4 项目并接受创建本地 Gi