将 Git 与现有 Xcode 项目一起使用
Posted
技术标签:
【中文标题】将 Git 与现有 Xcode 项目一起使用【英文标题】:Using Git with an existing Xcode project 【发布时间】:2011-07-20 00:13:34 【问题描述】:我正在尝试弄清楚如何在我的项目工作流程中使用 git,并且我有一个想要放入存储库的现有 Xcode 项目。我想我在管理器下正确设置了存储库,但源代码管理菜单显示为灰色。 显然,如果您开始一个新项目,这很容易做到,但是如何导入包含快照和所有内容的现有项目?
我正在使用 Xcode 4 和 git 1.7.4
另外,如果有任何关于 git 配置和最佳实践的好的演练,那就太好了。我玩游戏有点晚了,所以任何能让我加快速度的东西都会很酷。
【问题讨论】:
【参考方案1】:GitHub 在help.github.com 有一些非常好的 git 教程。
要对存储库进行初始设置,请打开终端窗口,然后将 CD 放入项目目录。在那里,输入
git init
git add .
git commit -m "Initial commit"
重启 Xcode。 现在应该设置存储库,您将能够在 xcode 4 中管理它。
【讨论】:
添加 .gitignore 文件以避免将所有构建目录和其他废话添加为跟踪文件的意义在哪里??? 此方法会将 .xcuserstate 和其他元数据添加到 repo,不应受版本控制。我建议您首先在项目文件夹中创建 .gitignore 并在运行“git add .”之前列出这些元数据文件类型。 根本不适合我。 Xcode 永远不会将其识别为 repo。 我使用的是 Xcode 11。我能够将本地 git 存储库添加到现有项目中,只需执行源代码控制、提交,然后执行我的第一次提交。这创建了 .git 文件夹等(不需要git init
、git add .
和 git commit -m
。)【参考方案2】:
Xcode 7(和 8)
如果您要开始一个新项目,您只需在设置期间检查创建 Git 存储库。 (然后跳到下面的 Commit 部分。)
但如果您使用的是现有项目,请转到 Xcode > Preferences... > Source Control 并检查 启用源代码管理框。
然后在 Source Control 主菜单中选择 Create Working Copy...。
(如果您收到“请告诉我您是谁”错误,请参阅 this question/answer 或那里的其他链接问题之一。)
完成后,对您的 Xcode 项目文件之一进行任何更改。然后返回 Source Control 菜单并选择 Commit。
并编写提交消息并单击提交按钮。 (如果提交按钮被禁用,则对您的项目进行任何小的更改,然后重试。)
在 Github 中登录并create a new repository。
随意调用它,但不要添加自述文件或 .gitignore 或许可证。您可以稍后添加这些内容。现在这样做会使同步变得更加困难。
将链接复制到您的存储库。
转到源代码管理 > 您的分支名称 > 配置。
点击遥控器标签>“+”按钮>添加遥控器...。
输入github仓库名称并粘贴地址。
添加遥控器后,点击Source Control菜单中的Push。输入你的 github 用户名和密码。而已。你的项目现在应该被复制到 github。
(一开始我的用户名和密码被接受时遇到了一些麻烦。如果您遇到这种情况,请转到 Xcode > Preferences... > Accounts > 您的新存储库。在此处输入您的用户名和密码,然后再次尝试推送。)
你可以添加一个 README 和其他文件,但是如果你是从网络上做的,你必须在提交之前在 Xcode 中做 Source Control > Pull其他变化。
现在,每当您在 Xcode 中进行更改时,您所要做的就是 Commit 和 Push。
这个方法我主要是从here学到的。
另见
The Basics of Git and GitHub How to add a .gitignore file for Swift in Xcode【讨论】:
这是迄今为止最简单的解决方案。你能告诉我在 xcode>preferences>accounts>add repo 中添加 repo 是什么意思吗? @AceNeerav,这允许您存储您拥有的另一个 repo 的凭据,这样您就不必每次都输入它们。有关详细信息,请参阅this documentation。 很好的解决方案。提示:对于小型项目,Bitbucket 是 github 的免费替代品。一旦项目变大,您就需要付费。 @steve-o, GitLab 也是一个不错的选择。它允许免费的私人存储库。我能够配置 Xcode 以使用它类似于我上面的答案。 感谢以下网址回答,我可以自己做,再次感谢【参考方案3】:我刚刚为几个项目完成了这个过程,并遇到了一些问题。这是我的过程,主要是从这个页面/网站上的其他答案拼凑而成的。顺序在这里很重要
-
打开终端并 cd 进入包含 .xcodeproj 文件的目录
git 初始化
在 finder 中输入新创建的 .git 文件夹(与 .xcodeproj 文件在同一目录中)。查找信息/排除,打开并添加这些行,.DS_Store 和 xcuserdata/
不确定是否需要,但我使用终端将信息/排除到 .gitignore 文件中
git 添加。
git commit -m "初始提交"
现在让 XCode 实际查看 repo。在项目管理器中,您首先必须从项目选项卡中删除项目。然后只需重新打开项目即可将其取回。这将检测刚刚创建的 GIT 存储库
然后,在管理器的存储库选项卡中,我从主分支分支/切换到我正在处理的任何版本。
希望这可以帮助某人而不会太多余。现在看起来很简单的事情对于刚接触现有项目的 GIT 人来说绝对是一个挑战
【讨论】:
感谢您分享您的经验!一步一步的很棒。 非常棒的一步一步,对像我这样还不熟悉 git 的人很有帮助。 对我来说,使用 4.6.2,步骤 7 是不必要的。谢谢! 我无法解释这有多大帮助!即使使用最新的 Xcode,第 7 步也有帮助! 据我了解,遵循上述步骤以及其他一些帖子和 svn 经验。您可以为 Xcode 创建 .gitignore 文件。列出是否可以在 GitHub 上找到要忽略的项目 github.com/github/gitignore/blob/master/Global/Xcode.gitignore【参考方案4】:查看我关于此主题的帖子Setting up a git repository in XCode for a pre-existing project。以上是正确的,但它会在您提交时将 UserInterfaceState 包含在您的更改中,这可能会很烦人,因为每次您在 xcode 中执行任何操作时此文件都会更新,即使它很简单并且在项目中的文件或文件夹中导航也是如此。
【讨论】:
【参考方案5】:如果您的 XCODE 7 没有与现有的 GIT 存储库连接。尝试关注
xcrun git config --global user.email your@email.com
xcrun git config --global user.name "your name"
【讨论】:
【参考方案6】:Note:Specially for Xcode 11
使用终端CD到项目目录
git 初始化
git 添加。
git commit -m "初始提交"
在此之后重新启动 Xcode 并选择 Source Control Navigator 然后选择 master 并右键单击然后选择选项“Create Remote”
【讨论】:
以上是关于将 Git 与现有 Xcode 项目一起使用的主要内容,如果未能解决你的问题,请参考以下文章