Xcode、Git和Github是三个伟大的编程工具。本文记录一下如何在Xcode中使用Git作为源代码控制工具,以及如何将本地的Git仓库和远程Github上的仓库集成起来。
1. 如何为新建的Xcode项目使用Git
Xcode4开始,就已经将Git作为内置的源代码控制(Source Control)工具了,所以为新建的项目使用git来管理是很方便的。
在新建项目向导中,可以直接选择Git作为源代码控制工具,完成项目新建向导后,就在本地项目目下新建了一个仓库。
2. 如何为已经存在的项目使用Git
如果已经存在了一个Project,想要为它使用Git,可以利用Git的命令行来操作。
假设该项目的根目录是: ~/Documents/Projects/ProjectA
(1) 在终端中先进入该目录:
cd ~/Documents/Projects/ProjectA
(2) 在该目录初始化Git仓库:
git init
(3) 注意,这时一定不要着急将目录下的所有文件都添加进来,先手工设置一些针对Mac OS X上的无用文件的排除(exclude),在项目根目录(ProjectA)下新建.gitignore文件,在该文件中添加如下排除规则:
# 排除build目录 build/* # Exclude temp nibs and swap files # 排除nib临时文件和交换文件 *~.nib *.swp # 排除OS X的文件夹显示属性目录 .DS_Store # 排除xcode3 xcode4的用户自定义设置文件 *.mode1 *.mode1v3 *.mode2v3 *.perspective *.perspectivev3 *.pbxuser xcuserdata
上面的规则只是大多数开发者都不需要进行版本控制的文件,还可以根据实际需要添加其它排除规则. 关于.gitignore更多的信息可以google之。
(4) 向git仓库中添加源文件
继续在终端命令行中,进入ProjectA下,
git add . git commit -m "Initial commit"
然后重启Xcode,就可以在Orgnizer视图中的“Repositories”选项卡界面下看到ProjectA的仓库了,并且已经完成了源代码的初次提交。此后,就可以进行源代码在本地仓库的版本控制了。
3. 如何将Xcode的本地Git仓库与Github的远程仓库集成?
Github的理念源自于Git,但是与Git相比已经有了一些异化的功能特性(比如Pull Request),所以二者并非完全一致的。但是从版本控制方面来说,差别不大。所以利用Xcode内置的Git管理功能即可与Github连接,而无需额外安装Github客户端。
Github的仓库地址有两种方式:
一种是SSH连接方式,形式为:git@github.com:Hao-Wu/ProjecA.git
一种是HTTP形式,形式为:https://github.com/Hao-Wu/ProjectA.git
这两种仓库地址使用的认证方式也不一样。对于SSH连接,使用非对称公钥认证方法;对于HTTP连接,使用帐号密码认证方式。
3.1 使用SSH方式
# 检查本机是否已经存在ssh公钥 $ cd ~/.ssh
如果以前已经生成过ssh密钥对,那么就存在这个.ssh目录,目录下有id_rsa.pub公钥文件。如果还记得这个密钥对生成的细节(比如passphrase),就可以直接拿来用;否则就再多花费半分钟时间,生成新的密钥对(记得先备份旧的密钥文件,说不定其它什么项目或程序在使用):
#创建新的SSH密钥对 $ ssh-keygen -t rsa -C "your_email@example.com" Enter passphrase (empty for no passphrase): [输入密码] Enter same passphrase again: [再次输入密码]
到这里,SSH密钥对就生成了,接下来将id_rsa.pub文件用文本编辑器打开,将其中的全部字符串拷贝,并粘贴到web版的github.com中SSH公钥设置内。这样Xcode就可以利用SSH认证与github连接。先测试一下:
$ ssh -T git@github.com
本机就会向github发出一个连接请求,随后Mac OS会弹出一些安全认证和请求获取授权的提示框,要选择允许。如果github的服务器返回:
Hi username! You've successfully authenticated, but GitHub does not provide shell access.
这就说明本地的git已经能够成功与github服务器通信了。(不用担心上面的访问被拒绝的提示)。在确定能够与github服务器连接后,即可为ProjectA的本地git仓库添加远程地址:
依次点击, Orgnizer –> Repositories –> ProjectA –> Remotes –> Add Remote
输入ProjectA在github上的地址(如果没有就先在github.com的仓库管理页面新建一个名为ProjectA的仓库):git@github.com:Hao-Wu/ProjecA.git
Username与Password不用输入,关闭Orgnizer视图。在File –> Source Control中即可将本地仓库的代码Push到github上了。
3.2 使用HTTP方式
使用http认证方式省去了生成SSH证书的步骤,但是在每次提交时都需要输入github的帐号和密码。
类似地,依次点击 Orgnizer –> Repositories –> ProjectA –> Remotes –> Add Remote
输入ProjectA在github的http形式的地址:https://github.com/Hao-Wu/ProjectA.git
在UserName和Pasword中分别输入github网站登录的用户名和密码 (用户名不是邮箱形式)。关闭Orgnizer视图,File –> Source Control –> Push, 即可向github中push本地仓库的代码。这个过程可能需要重新输入一遍github的用户名和密码。
相关推荐
GitDiff 显示 git 仓库和 XCode 源代码编辑器保存的代码文件的不同之处,复制仓库的内容到你的机器上,构建和重启 XCode。修改过的地方会用橙色标记,蓝色代表新加入的代码。删除的代码使用红色标记。 ...
### iOS开发Git在Xcode开发环境下的使用 #### Git简介 Git是一种分布式版本控制系统,它允许开发者们在软件开发过程中追踪代码的变化历史、合并不同版本的更改并管理多个分支。对于iOS开发而言,掌握Git的基本操作...
GitDiff9-Xcode 9的GitDiff 由于此插件已被“ Sherlocked”,因此不再受支持,仅在Xcode 11中有效。您需要先保存文件,然后才能突出显示高光。 现在,源代码编辑器已在Swift中实现,“ GitDiff” Xcode插件已连接...
- **源码管理界面**:Xcode内置了Git的图形用户界面,方便开发者进行添加、提交、拉取和推送操作。 - **版本对比**:Xcode能显示代码的差异,帮助开发者理解不同版本之间的变化。 - **冲突解决**:当多人编辑同一...
8. **源代码控制**:Xcode内置Git支持,便于团队协作和版本管理。15.4可能会优化提交和分支操作,提高开发者的工作流效率。 9. **TestFlight集成**:允许开发者通过TestFlight轻松进行内部和外部测试,收集反馈并...
Git是一个版本控制系统,由Linus Torvalds开发,最初用于管理Linux内核代码,后来发展成为几乎所有开发者都会使用的版本...这些功能可以帮助开发者在Xcode中直接使用Git进行版本控制操作,提高开发效率和协作便利性。
事实上,这种做法再团队和软件公司中相当常见:每个人负责项目的一部分,最终所有部分被整合到一起形成最终产品。对于个人开发者来说,版本控制系统并不是必需的,但是我们仍然强烈推荐开发者使用它,因为它可以使...
如果你想使用或贡献到`Bluepill`,你需要具备一定的C++和Objective-C编程基础,熟悉Xcode和Git。以下是一般步骤: 1. **克隆项目**: 使用`git clone`命令将`bluepill-master`仓库克隆到本地。 2. **安装依赖**: ...
这个源码是显示git增量的Xcode插件,源码GitDiff,GitDiff是一个Xcode插件,如果你的工程使用Git做版本控制,它能提示你的代码的改变。 测试环境: Xcode 6.0 安装: 下载代码,运行工程,重启Xcode
xcode-git-cfbundleversion.rb 使用短的 Git 修订字符串更新 Info.plist 文件中的 CFBundleVersion如何使用右键单击要添加版本控制阶段的目标(通常是构建应用程序的目标) 选择:添加 -> 新建构建阶段 -> 新建运行...
- **版本控制集成**:Xcode与Git等版本控制系统无缝集成,可以直接在IDE内进行提交、拉取、合并等操作,简化了团队协作流程。 #### Swift语言支持 Swift是苹果于2014年推出的全新编程语言,其设计目标是结合...
在安装方面,Mac用户可以通过安装Xcode获得git-svn支持,而Linux用户可以使用包管理工具如apt-get进行安装。对于Windows用户,推荐使用msysgit工具,它提供了Git在Windows平台上的完整实现。此外,Cygwin提供了更为...
Xcode通过集成工具如Xcode Server、Xcode Bots以及支持Git和SVN等版本控制工具,为开发者提供了一整套软件开发的生命周期管理解决方案。 知识点七:Xcode项目配置的注意事项 虽然Xcode提供了一套强大的自动化工具,...
Xcode 14.2还包含了对开源社区项目的持续支持,包括CocoaPods、Carthage等依赖管理工具的更新,以及Git的最新版本,确保开发者可以顺利地集成第三方库和协同开发。 总结,Xcode 14.2是Apple开发者的得力助手,其...
此外,VVDocumenter-Xcode的使用并非孤立的,它可以与其他代码管理和版本控制工具如Git、SVN等配合使用,进一步提升团队开发的效率。在注释完成后,这些注释可以被集成到项目文档中,提供完整的API参考,方便团队...
Git 是一个分布式版本控制系统,最初由 Linus Torvalds 为 Linux 内核开发,现在已广泛应用于各类操作系统,包括 Linux、Unix、Mac 和 Windows。Git 的安装与配置是使用 Git 的基础,以下将详细介绍各个操作系统的...
4. **启动Xcode并使用**:安装完成后,在Xcode中即可看到新增加的iOS版本,并可用于创建和测试虚拟设备。 #### 四、提供的iOS版本 本文档列出了从iOS 8至iOS 12期间的各个小版本模拟器的下载地址,具体包括: - *...
#iOS-开发 面向开发人员的 iOS 框架、文章、电子书等列表。 使用生成的目录 存储库 系统 Swift 工具 Xcode 包管理器 ... Xcode 和 git:弥合差距 CocoaPods 库 数据处理 NSDate-TKExtensions - NSDa
它还集成了版本控制系统Git,方便团队协作和代码管理。此外,XCode支持Objective-C和Swift两种主要的苹果平台编程语言,Swift是自2014年以来推出的新语言,以其简洁的语法和安全性深受开发者喜爱。 在压缩包文件...