gpt4 book ai didi

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

转载 作者:IT王子 更新时间:2023-10-29 00:44:03 24 4
gpt4 key购买 nike

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 并尝试使用

File -> Source Control -> Push...



然后是 选择要将更改推送到的存储库。 将出现列出源远程存储库的对话框。有一个黄色指示器表示需要身份验证,这很好,因为我还没有能够输入我的 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

如果我重新启动 Xcode,一个原始存储库已添加到 Organizer 的存储库浏览器中,并且我可以在 GitHub 上看到 master 分支,因此我知道凭据是正确的,而无需我更改任何内容。

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

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

使用一种解决方法的更多详细信息进行编辑

此示例仅适用于您添加到 GitHub 存储库的第一个项目。因此,我认为您最好执行以下步骤,请记住,此解决方案中似乎仍然存在一些 Xcode“问题”。
  • 列表项
  • “欢迎使用 Xcode”对话框中的“连接到存储库”。
  • 使用 GitHub SSH URL 获取位置
  • 给它一个名字 (RepositoryName) 并克隆到一个目录
  • 即使下载了内容,第一次尝试似乎也失败了
  • 再试一次,它的工作原理。
  • 现在在 Organizer 窗口中定义了一个新的存储库,其来源设置为 GitHub 远程 SSH URL。
  • 在您刚刚克隆到的目录中创建一个新项目,但不要勾选“为此项目创建本地 git 存储库”选项。
  • 对本地 Git 存储库进行初始提交。
  • 尝试源代码管理 -> 推送,Xcode 4 失败并显示“操作无法执行,因为对存储库 RepositoryName 的访问被拒绝。检查用户名和密码'
  • 尝试 Source Control -> Push 和 Xcode 4 再次 pop 远程存储库对话框,但这次检测到一个名为 origin 的远程存储库。在它旁边有一个黄色的球和“需要身份验证”。
  • 再次单击“推送”会导致远程推送工作。

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

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

    最佳答案

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

    先决条件

  • 我假设您有一个由 Xcode 4 创建的项目 本地 git 存储库。
  • 您创建了一个空的远程 git 存储库(我在以下示例中将其称为 RemoteRepository)

  • 推送到远程
  • 在 Xcode 中打开管理器并转到存储库选项卡
  • 首先点击 Remote ,然后点击“添加 Remote ”

    Xcode Organizer
  • 输入远程名称和远程存储库的位置,然后单击创建

    Add a remote dialog
  • 然后选择您的项目并打开 File -> Source Control -> Push ...
    open push dialog
  • 选择您的远程存储库并等待它可连接!在括号中查找 Create。

    push dialog
  • 现在您的旧项目已发布到 GitHub

    result on GitHub

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

    请联系我 twitter如果有什么不清楚或用不好的英语写的!

    关于git - 在 Xcode 4 中,如何将远程 GitHub 存储库添加到现有的本地项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5803768/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com