Xcode和Github不兼容

3

第一次使用Github与xCode配合遇到了困难。

我已经按照很多教程尝试,但是都没有成功。

  1. 使用我的Github账户,为项目创建仓库
  2. 打开Xcode并创建项目,勾选git复选框
  3. 打开源代码控制菜单并连接Github存储库origin/master
  4. 尝试推送,收到“本地存储库已过时”的信息。请确保从远程存储库中获取所有更改,并重试。
  5. 尝试拉取,但是出现了“origin/master不是有效的要拉取的远程分支。请选择其他远程分支” 但是没有其他分支。
  6. 尝试其他方法,但是都没能解决问题

顺便说一句,第一次连接到远程服务器时我弹出了一个窗口输入用户名和密码,现在不弹出了,所以我认为连接不是问题,我可以看到(或认为我可以看到)远程存储库

有人有想法吗?

推送:

enter image description here

拉取:

enter image description here


我建议你使用SourceTree。它更加容易操作。 - JLT
10倍速,但我正在尝试使用Xcode学习Github。 - Erez
3个回答

3
我经常使用命令行。我可以为您提供更好的方法来实现您的目的。
按照以下步骤进行操作:
1. 打开终端。 2. 输入以下命令
``` git clone --recursive https://github.com/EXAMPLE_PROJECT/EXAMPLE.git ```
3. 进入文件夹并双击xcode项目文件(如果项目已经存在于github中)。假设如果项目不在github中,则将其复制并粘贴到此文件夹中,然后双击.xcodeproj文件。 4. 一旦项目在xcode中加载完成,点击菜单栏上的“Source Control”。 5. 您将看到提交、推送、拉取选项可见。现在您应该能够使用git了。
注意:
如果钥匙串中没有github帐户详细信息,则终端会要求输入。
如果您在github中使用多个用户帐户,则可能需要从密钥链中删除github帐户详细信息。我不确定如何为多个github帐户设置。

@Aslam,我认为问题在于Github上的repo与本地版本的项目不同,我已经在菜单中启用了所有的push和pull等功能,一切看起来都像教程中的那样,但是没有任何东西能够像教程中那样工作,也没有人展示如果出现问题该怎么办...你的解决方案就是我已经拥有的...另外,这是一个新的Xcode项目,如果我克隆repo,除了一个文件之外什么都没有,我需要将项目移动到repo中,这就是push应该做的事情。提交更改到本地repo并推送到Github... - Erez
你能放一下你遇到的错误截图吗? - MD Aslam Ansari
抱歉让你等了一段时间,但我已经添加了推送和拉取警报的图片。 - Erez
1
我感觉你正在选择远程分支。请在命令行中执行“git fetch”,然后选择master而不是origin/master,再试一下。如果可以的话,请告诉我。 - MD Aslam Ansari

3

好的,问题已经解决!

注意:当您在创建git仓库时添加README或gitignore文件后,无论我做了什么都无法从本地副本中推送或拉取。

最终,我删除了Github仓库,并创建了一个没有任何文件的干净仓库。

然后按照主要仓库页面上的步骤操作,一切正常运行。

我认为问题在于Github仓库和本地git仓库中有不同的文件(本地仓库有Xcode项目文件),对我来说这导致了错误累积,但是从清洁的Github仓库开始,并提前获得gitignore文件并将其添加到本地项目中对我起到了作用。

非常感谢,希望对您有所帮助!


0

我也经常遇到同样的问题。直到现在,我还没有一个好的解决方案,而不涉及拉取更改、放弃更改和重新做最近的工作。这些都不是理想的解决方案。

我有一个习惯,就是经常在文件系统中复制我的项目,并打开副本。这使我能够回到以前的副本,如果我在XCode中遇到破坏我的项目的错误。请参见我在Youtube上的视频示例。https://www.youtube.com/watch?v=IY9m2F2i6HY#action=share

我认为最近发生这种情况是因为在提交和推送我的更改到云锻造的GIT存储库之前,我在文件系统级别上复制了项目,但是我可以看到人们在github上也有同样的问题。 为了恢复,我打开了我的先前版本(2017 ProjectOrganizer244_8)并提交和推送更改。 这是我忘记提交和推送的两个版本之前的副本。 然后我去了我的下一个版本,我无法签入。 但是,我没有签入那个版本,而是转到了我的最新副本(2017 ProjectOrganizer244_10),然后单击左侧面板中的图标以显示源代码导航器。 这将打开一个看起来像这样的面板。 Show the Source Code Navigator

然后我打开了“分支”部分。当前分支被选中为“IncreasedEditingWindowSizeAndAddedGoogleAnalytics”。我右键点击此分支并选择“从IncreasedEditingWindowSizeAndAddedGoogleAnalytics创建分支”。我为该分支输入了一个新名称“ProjectOrganizerContainer”。然后当我下次返回源代码控制菜单并选择提交和推送时,新的分支就被选中了。然后我成功地提交并推送了来自版本10(我最近的副本)的更改,这没有导致任何更改丢失,并允许我继续而不会丢失代码更改。如果我发现有任何遗漏,我可以从版本9复制过来,然后提交它。对我来说最重要的是,我仍然可以看到过去113个提交的修订更改历史记录。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接