在现有的Xcode项目中使用Git


113

我试图弄清楚如何在项目工作流程中使用git,并且我有一个现有的Xcode项目要放入存储库中。我认为我已经在管理器下正确设置了存储库,但是“源代码管理”菜单显示为灰色。
显然,启动新项目很容易,但是如何导入包含快照和所有内容的现有项目呢?

我正在使用Xcode 4和git 1.7.4

另外,如果在git配置和最佳实践方面有很好的演练,那就太好了。我玩游戏有点晚了,所以任何能让我快速入门的东西都很棒。

Answers:


169

GitHub在help.github.com上有一些非常好的git教程。

要进行存储库的初始设置,请打开一个终端窗口,并CD到项目目录。在那里,输入

git init
git add .
git commit -m "Initial commit"

重新启动Xcode。现在应该建立存储库,您将能够在xcode 4中对其进行管理。


4
避免添加.gitignore文件以避免将所有生成目录和其他废项添加为跟踪文件的地方在哪里?
Fraggle 2012年

7
此方法会将.xcuserstate和其他元数据添加到存储库中,不应对其进行版本控制。我建议您首先在项目文件夹中创建.gitignore并列出那些元数据文件类型,然后再运行“ git add”。
kakyo

根本没有为我工作。Xcode永远不会将其识别为存储库。
强尼

我正在使用Xcode11。我只需执行Source Control,Commit,然后执行我的第一次提交,就可以将本地git存储库添加到现有项目中。创建该文件夹。git的,等等(无需为git initgit add .git commit -m。)
杰夫

103

Xcode 7(和8)

如果您要开始一个新项目,则只需在安装过程中选中Create Git存储库。(然后跳到下面的“提交”部分。)

在此处输入图片说明

但是如果您正在使用现有项目,请转至Xcode > 首选项... > 源代码管理,然后选中启用源代码管理框。

在此处输入图片说明

然后在“ 源代码管理 ”主菜单中,选择“ 创建工作副本...”

在此处输入图片说明

(如果出现“请告诉我您是谁”错误,请参阅此问题/答案或此处的其他链接问题之一。)

完成后,对您的Xcode项目文件之一进行任何更改。然后回到Source Control菜单并选择Commit

在此处输入图片说明

并写入提交消息,然后单击“ 提交”按钮。(如果禁用了提交按钮,则对项目进行任何细微更改,然后重试。)

在此处输入图片说明

在Github中登录并创建一个新的存储库

在此处输入图片说明

随便叫什么,但不要添加自述文件或.gitignore或许可证。您可以稍后添加这些内容。现在这样做会使同步更加困难。

在此处输入图片说明

将链接复制到您的存储库。

在此处输入图片说明

转到源代码管理 > 您的分支名称 > 配置

在此处输入图片说明

单击“ 遥控器”选项卡>“ + ”按钮>“ 添加遥控器...”

在此处输入图片说明

输入github存储库名称并粘贴地址。

在此处输入图片说明

添加遥控器后,在“ 源代码控制”菜单中单击“ 推送 ” 。输入您的github用户名和密码。而已。您的项目应立即复制到github。

(我在首先接受用户名和密码时遇到了一些麻烦。如果您遇到这种情况,请转到Xcode > 首选项... > 帐户 > 您的新存储库。在此处输入您的用户名和密码,然后再次尝试Push。)

在此处输入图片说明

您可以添加自述文件和其他文件,但是如果您从网络上进行添加,则在提交其他更改之前,必须先执行“ 源代码控制” >“ 入Xcode”。

现在,只要您在Xcode中进行更改,您所要做的就是CommitPush

我主要是从这里学到这种方法的。

也可以看看


到目前为止,这是最简单的解决方案。您能告诉我在xcode> preferences> accounts> add repo中添加回购协议是什么意思吗?
2015年

@AceNeerav,这使您可以存储您拥有的另一个存储库的凭据,这样就不必每次都输入它们。有关更多详细信息,请参见此文档
Suragch 2015年

很好的解决方案。提示:对于小型项目,Bitbucket是github的免费替代品。一旦项目变大,您就可以付费。
steve-o

1
@ steve-o,GitLab也是一个不错的选择。它允许免费使用私人存储库。我能够将Xcode配置为与上面的答案类似地使用它。
Suragch '16

通过遵循url答案表示感谢,我自己也能做得到我再次非常感谢
Dilip Tiwari

44

我只是为几个项目完成了此过程,然后遇到了一些问题。这是我的过程,大部分与该页面/站点上的其他答案组合在一起。订单很重要

  1. 打开终端并cd进入包含.xcodeproj文件的目录
  2. git init
  3. 在finder中,输入新创建的.git文件夹(与.xcodeproj文件位于同一目录中)。查找信息/排除,打开并添加以下行:.DS_Store和xcuserdata /
  4. 不知道是否需要,但是我使用终端将cp信息/排除到.gitignore文件中
  5. git添加
  6. git commit -m“初始提交”
  7. 现在,让XCode实际查看回购。在项目组织者中,您首先必须从“项目”选项卡中删除该项目。然后,只需重新打开项目以将其取回即可。这将检测刚刚创建的GIT存储库
  8. 然后,在管理器的“存储库”选项卡中,我分支出master分支/切换到我正在使用的任何版本。

希望这会对某人有所帮助,而不必太过冗长。对于那些刚接触GIT的现有项目的人来说,现在看来简单的事情无疑是一个挑战


2
感谢您分享您的体验!一步一步很棒。
AndyD273 2013年

一步一步的好,对于像我这样不熟悉git的人很有帮助。
Nicolas Miari 2013年

1
对我而言,对于4.6.2,不需要执行步骤7。谢谢!
cloudurfin

我无法解释这有多大帮助!即使使用最新的Xcode,第7步也有帮助!
Zephyer

据我了解,按照上述步骤操作以及其他一些帖子和svn经验。您可以为Xcode创建.gitignore文件。列出是否可以忽略的项目可以在GitHub github.com/github/gitignore/blob/master/Global/Xcode.gitignore
Bhavesh 2014年

10

查看我有关此主题的文章,以在XCode中为预先存在的项目设置git存储库。上面是正确的,但是在您提交更改时它将包含UserInterfaceState,这可能很烦人,因为每次您在xcode中执行任何操作时,此文件都会更新,即使它很简单并且可以在项目中浏览文件或文件夹。


1

如果您的XCODE 7没有与现有的GIT存储库连接。尝试跟随

xcrun git config --global user.email your@email.com
xcrun git config --global user.name "your name"

0

Note:Specially for Xcode 11

CD使用终端到项目目录

git init

git添加

git commit -m“初始提交”

重新启动Xcode之后,选择Source Control Navigator,然后选择master,右键单击,然后选择“ Create Remote”选项。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.