将Xcode项目添加到github仓库?

79

我刚刚在网站上创建了一个新的GitHub存储库。请记住,我是一个初学者,但可以在终端中做一些基本操作。无论如何,我刚刚在github.com上的我的账户上创建了这个存储库,但还没有对它进行任何操作。

所以我想要做的就是将我的Xcode项目文件夹上传到新的GitHub存储库。我该如何通过终端来完成这个任务?

7个回答

86

最好的方法是按照 GitHub 给出的指示进行操作:

首先,进入正确的目录。

cd <directory of your Xcode project>

听起来你已经在Xcode中有了一个本地的Git项目。如果是这样,请跳过这段代码块。

git init .
git add .
git commit -s
<type in a commit message>

最后,将更改推送到您的代码库中。以下内容直接从我的GitHub账户复制而来,在创建新的“test”存储库后获取。请更改“dhalperi/test”部分。

使用命令行推送现有存储库

git remote add origin git@github.com:dhalperi/test.git
git push -u origin master

谢谢,我遇到的一个问题是:我得到了这个错误消息:“Permission denied (publickey). fatal: The remote end hung up unexpectedly。”我做错了什么? - SimplyKiwi
1
@iBradApps:它正在尝试使用SSH连接到GitHub。看起来您的公钥是错误的。您是否已经设置好了密钥?如果没有,请使用仓库地址的HTTPS版本:https://github.com/your_account_name/your_repo_name.git - Dan Halperin
8
将Xcode生成的所有文件添加到代码库可能是个坏主意,因为这样很可能会导致冲突。上一次我进行Xcode开发时,我向.gitignore文件添加了以下三行(不确定列表是否详尽): MyProj.xcodeproj/project.xcworkspace MyProj.xcodeproj/xcshareddata MyProj.xcodeproj/xcuserdata - Adam Bergmark

66

我本来只是要留个评论,但我也会加上一个总结性的回答。我的完整回答在这里

这并不是终端指令,但你可以把它视为另一种方法。现在已经很好地与Xcode集成了,而且也不难做到。

创建新项目时创建Git存储库

enter image description here

如果你已经有一个没有Git存储库的项目,请参见我上面链接的答案。

提交更改

enter image description here

在项目中进行更改后,从源代码控制菜单中选择提交...。您需要添加一个简短的提交消息。

创建新的GitHub存储库

enter image description here

GitHub网站上创建一个新的存储库。可以随意命名,但不要添加README或.gitignore或许可证等文件。创建新存储库后复制其链接。

在Xcode中添加远程仓库

在Xcode中转到源代码控制 > 你的分支名称 > 配置。然后点击远程选项卡 > "+"按钮 > 添加远程仓库。填写你的存储库名称和地址。

在此输入图片描述

将项目推送到GitHub

进入源代码管理 > 推送。第一次需要输入您的GitHub用户名和密码。

就这样,现在每当您在Xcode中进行更改时,只需提交推送即可。

如果您没有遵循此说明,请阅读这篇文章这篇文章以获取更多详细信息。

进一步学习

这是一段非常好的视频,我最近观看了它,帮助我更好地理解Git及其与GitHub的集成。


如果我已经进行了几次提交,该怎么办? 我的应用程序版本1.0的构建为7.0,我已经进行了几次提交。 我希望它们都反映在我的Github私有存储库中。 您所做的是否会实现此目的,或者仅显示最后一次提交? - AceN
@AceNeerav,如果您进行了多次提交,然后将它们推送到GitHub上,所有提交都会被保存,并且可以从GitHub上浏览更改。请参见此链接以了解如何查看它们。 - Suragch
@Suragch 我没有任何分支。我只想将整个项目推送到 Github 存储库。我在这一点上卡住了:源代码控制 > 您的分支名称 > 配置。没有分支,那么在这种情况下如何添加远程? - Mamta
@Mamta,分支应该是“master”,但如果不行的话,请尝试提出一个新问题并包含更多细节。我不记得当我这样做时它是否要求分支,所以现在可能会有一些差异。 - Suragch
@Suragch 请检查新发布的问题 https://stackoverflow.com/questions/49356282/xcode-9-2-unable-to-configure-git-source-control-for-master-branch - Mamta

14

在Xcode中更容易地完成此操作。您甚至可以将当前分支或整个项目推送到GitHub。

(适用于Xcode 11)

  1. 只需在“源代码控制导航器”中选择所需的分支/(或顶层文件夹),右键单击它。然后选择“创建远程”。或“编辑 -> 创建远程”。 enter image description here

  2. 然后使用您在GitHub上的帐户创建存储库。如果没有提供使用您的GitHub帐户,那么可能您还没有在Xcode ->首选项 ->帐户中添加您的GitHub帐户 enter image description here

  3. 设置好一切后。点击“创建”。
  4. 要将项目/分支推送到GitHub存储库,请单击“源代码控制 ->推送”。

之后请检查Github。所有内容都应该在那里。


非常感谢!这个答案绝对有帮助! - DmitryKanunnikoff

7
获取Github的Mac应用程序,除非您想要进行更高级的操作,否则您不需要终端;-)
只需转到GitHub上的项目页面,然后单击“在Mac上克隆”,这应自动为您下载和安装它。 您必须至少执行一次此操作才能安装应用程序并设置一些所需的权限。
之后,您将在Dock中看到GitHub应用程序,只需打开它,然后单击底部的小“+”符号,在那里您将看到“创建新仓库”和“添加新本地仓库”。
您可以将XCode已为您创建的仓库添加到其中,也可以从GitHub下载一个,然后在XCode中打开它。

4
如果您的Mac上已经有一个git仓库并且正在使用Xcode 9,
对于Xcode 9,只需在Xcode中的导航检查器中转到源代码控制选项卡。右键单击主git并选择在GitHub上创建“您的项目名称”远程。
输入您的GitHub凭据并为git仓库命名,然后Xcode将为您创建并推送您的代码。 enter image description here

2

一种非终端解决方案是安装 SourceTree。这是一个图形用户界面,与终端相比使用起来超级简单。但是强烈建议学习Git命令。


我建议Source Tree显示了大量信息,这可能会使那些对Git基础知识掌握不牢的初学者感到不知所措。 - HenryRootTwo
@StuartGrimshaw,我完全同意,但我觉得ST初学者的教程更容易理解,这将是介绍git的好方法。 - mihai

0
最近(2023年)的答案(我使用的是Xcode 14,但我怀疑这个功能已经有一段时间了):假设您在创建Xcode项目时启用了源代码控制(默认情况下启用),
  • 转到源代码控制导航器,选择“Repositories”,在项目名称下右键/辅助点击“Remotes”,然后添加一个新的远程。

  • Xcode会引导您登录GitHub(或其他远程git存储库),包括名称选择。无需任何额外的软件,也无需先在远程端创建存储库。

Xcode截图


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