`

iOS开发那些事-Git在Xcode中的配置与使用

阅读更多

很多Git命令都是在命令行下运行的,命令行下管理Git有很多优点不用多说。但最大的缺点是要求用户记住这些命令。因此Git图形界面还是很受一 些用户欢迎的,其中Xcode作为集成开发环境工具,也提供了一定Git图形界面功能。但是要想在Xcode中使用Git管理工程代码还想需要进行一些配 置,然后才能使用。

如果我们是使用Xcode 4创建的一个iOS工程,在终端的命令行中提交代码时候,可能会出现下面的部分信息:

create mode 100644 HelloWorld/HelloWorld.xcodeproj/project.xcworkspace/contents.xcworkspacedata

create mode 100644 HelloWorld/HelloWorld.xcodeproj/project.xcworkspace/xcuserdata/tonyguan.xcuserdatad/UserInterfaceState.xcuserstate

create mode 100644 HelloWorld/HelloWorld.xcodeproj/xcuserdata/tonyguan.xcuserdatad/xcschemes/HelloWorld.xcscheme

create mode 100644 HelloWorld/HelloWorld.xcodeproj/xcuserdata/tonyguan.xcuserdatad/xcschemes/xcschememanagement.plist

rewrite HelloWorld.xcodeproj/project.xcworkspace/xcuserdata/tonyguan.xcuserdatad/UserInterfaceState.xcuserstate (83%)

事实上是能够列入到代码版本控制的文件是有规定的,不能是编写的二进制文件、临时文件和用户特有的文件等。下面是Xcode 4创建的HelloWorld工程的目录结果:

HelloWorld

├── HelloWorld

│   ├── AppDelegate.h

│   ├── AppDelegate.m

│   ├── HelloWorld-Info.plist

│   ├── HelloWorld-Prefix.pch

│   ├── ViewController.h

│   ├── ViewController.m

│   ├── en.lproj

│   │   ├── InfoPlist.strings

│   │   └── ViewController.xib

│   └── main.m

└── HelloWorld.xcodeproj

├── project.pbxproj

├── project.xcworkspace

│   ├── contents.xcworkspacedata

│   └── xcuserdata

│       └── tonyguan.xcuserdatad

│           └── UserInterfaceState.xcuserstate

└── xcuserdata

└── tonyguan.xcuserdatad

├── xcdebugger

│   └── Breakpoints.xcbkptlist

└── xcschemes

├── HelloWorld.xcscheme

└── xcschememanagement.plist

其中HelloWorld.xcodeproj属于包文件,它内部的很多东西是不能提交的,包括:project.xcworkspace和 xcuserdata,它们是与用户有关的。Git中有一个.gitignore配置文件,在这个文件中可以设置被忽略的文件。下面的内容是一 个.gitignore配置文件:

# Exclude the build directory

build/*

# Exclude temp nibs and swap files

*~.nib

*.swp

# Exclude OS X folder attributes

.DS_Store

# Exclude user-specific XCode 3 and 4 files

*.mode1

*.mode1v3

*.mode2v3

*.perspective

*.perspectivev3

*.pbxuser

*.xcworkspace

xcuserdata

文件中#号是注释,可以使用正则表达式,文件考虑到了X code 3和4差别。这个文件创建之后,应该放在什么地方?如果只考虑对一个特定工程忽略,.gitignore文件应该放在代码库目录下面,目录结构如下所示:

<代码库目录>

└── HelloWorld

├── HelloWorld

│   ├── AppDelegate.h

│   ├── AppDelegate.m

│   ├── Default-568h@2x.png

│   ├── Default.png

│   ├── Default@2x.png

│   ├── ViewController.h

│   ├── ViewController.m

│   ├── HelloWorld-Info.plist

│   ├── HelloWorld-Prefix.pch

│   ├── en.lproj

│   │   ├── InfoPlist.strings

│   │   └── MainStoryboard.storyboard

│   └── main.m

└── HelloWorld.xcodeproj

└── .gitignore

如果考虑适用于所有的Xcode工程,则需要使用git config命令配置git,在终端中执行git config命令:

$ git config –global core.excludesfile  ~/.gitignore

该命令会将配置信息写入到~/.gitconfig文件中,–global参数是配置全局信息,~/.gitignore说明文件是放置于当前用户目录下。

为了使本机上的所有代码库都默认使用git用户,还需要执行如下命令进行配置:

$ git config –global user.name git

$ git config –global user.email eorient@sina.com

在Xcode中使用git还会遇到很多问题,老关总结常见的4个问题,明天和大家分享一下,得干活去了

问题1,如何在Xcode中创建代码库,并添加和提交代码到代码库?

问题2,如何在Xcode中提交推送给远程服务器代码库?

问题3,如何在Xcode中克隆远程服务器代码库到本地?

问题4,如何使用Xcode获取远程代码库数据,并解决冲突问题?

分享到:
评论

相关推荐

    IOS开发Git在Xcode开发环境下的使用

    从零来讲如何在xcode下,来配置git

    iOS-Tagent-master.zip

    网易airtest for mac必备agent, iOS-Tagent 其实就是 WebDriverAgent 仔细看,会发现iOS-Tagent会比WebDriverAgent简略得多。 iOS-Tagent其实就是WDA的优化版本。 git clone ...

    很好用的Xcode qmui-ios-codesnippets

    很好用的Xcode qmui-ios-codesnippets直接下载 或者到https://github.com/QMUI/QMUI_iOS_CodeSnippets下载

    Xcode.5.Start.to.Finish.iOS.and.OS.X.Development

    Title: Xcode 5 Start to Finish: iOS and OS X Development Author: Fritz Anderson Length: 624 pages Edition: 1 Language: English Publisher: Addison-Wesley Professional Publication Date: 2014-05-16 ISBN-...

    qiubaiying#qiubaiying.github.io#2016-12-07-忽略-Xcode8-中的注释警告1.md

    subtitle: Bulid Settings -&gt; Documentation Comments -&gt; NO原因从Xcode8.0开始,引入了文档注释警告,

    iOS/Swift/OC/Objective-C/Xcode/0基础/入门

    这是一门快速入门iOS开发的课程,目的是让大家快速学会,iOS开发环境搭建,和iOS一些基础知识,最后完成一个小项目。 项目信息 提供完整的Git提交历史,和每节视频一一对应,目前有41次提交,355行注释,271行...

    gradle-ios-plugin:用于 iOS 移动开发的 Gradle 插件

    用于 iOS 移动开发的 Gradle 插件 有一个适用于 Gradle 的 Android 插件,为什么没有适用于 iOS 的插件? 请参阅示例 - 要求 XCode (iOS SDK) CocoaPods(依赖项) iOS-Deploy(部署到设备) 安装 XCode 安装 ...

    iOS-Tagent:iOS自动化支持代理

    iOS-Tagent简介 iOS-Tagent是一个基于facebook 的项目,旨在适合 。 我们对其进行了一些自定义的优化和调整,它在以下方面效果很... 1.2使用Xcode打开iOS-Tagent并使用数据线将iPhone连接到Mac 在Xcode的顶部菜单中选

    Programming iOS 11 - Matt Neuburg

    Move into iOS development by getting a firm grasp of its fundamentals, including the Xcode 9 IDE, Cocoa Touch, and the latest version of Apple’s acclaimed programming language, Swift 4. With this ...

    《iOS6开发指南》精彩书摘

    学习如何使用Git进行代码版本控制,其中包括Git服务器的搭建,Git常用命令,协同开发,还介绍了Xcode中配置和使用Git工具。 第19章“把你的应用放到App Store”。掌握如何在App Store发布应用。介绍应用发布流程以及...

    RxSwift-MVVM-iOS:SwiftMVVM是使用MVVM架构以Swift编写的示例iOS应用

    git clone git@github.com:yokurin/RxSwift-MVVM-iOS.git在Xcode中打开RxSwiftMVVM.xcworkspace 。 跑描述RxSwiftMVVM是使用MVVM架构以RxSwift编写的示例iOS应用。 使用 , , 查看源代码单元测试在制品...Xcode...

    xcode-snippets:Xcode片段

    依存关系设置如下所示将仓库克隆到Xcode代码段目录中git clone :ustwo/xcode-snippets.git ~/Library/Developer/Xcode/UserData/CodeSnippets/ 重新启动Xcode 就是这样!用法例如,使用底部的“ US2”使用Xcode检查...

    Galileo-iOS-SDK:在iOS平台上开发与Galileo兼容的应用程序的资源

    在这里,您可以找到用于在iOS平台上开发与Galileo兼容的应用程序的资源。 对于其他平台并访问我们的开发人员博客和论坛,请访问motrr开发人员门户,为 。 下载框架 可以以或格式手动下载GalileoControl框架。 只需...

    使用OpenCV在iOS上进行Tensorflow-lite Deeplab实时分段-Swift开发

    要求:苹果开发者计划帐户(仿真器没有相机)Xcode 9.2 OpenCV 3.3.1 iOS Pack Git LFS Tensorflow-lite任何iOS开发者Tensorflow-lite Deeplab RealTime 1. Demo 2要求:Apple开发者计划帐户(模拟器没有相机)Xcode...

    iOS调试工具AllYourMemoriesAreBelong2iOS.zip

    在开发过程中,为了测试应用能否对 iOS 系统的内存警告通知作出正确响应,经常需要开发者手动模拟该消息的产生。iOS 模拟器中提供了直观的方式模拟向当前运行的应用发送内存使用警告。但是当开发者需要在真机上测试...

    awtk-ios:awtk ios

    编译awtk ios版本,需要MacOS电脑,并安装Xcode。 下载awtk和awtk-ios源码 git clone https://github.com/zlgopen/awtk.git git clone https://github.com/zlgopen/awtk-ios.git 创建并编译demoui的工程 进入awtk-...

    git-tutorial:该项目利用AppCoda的SidebarMenu教程来演示Swift中Cal Poly SLO iOS开发夏季会议的基本GIT用法

    我们还假设它已经预装了XCode,因为该公司的IT部门重视您的时间:)第1步:克隆仓库在设置公司电子邮件地址之后,在新计算机上要做的第一件事是下载代码库: 在这种情况下,该项目在GitHub @ 上具有公共可见性,但是您...

    ios-smoke-test-app:测试TestCloudAgentLPServer行为的应用程序

    掌握 CalSmoke测试应用程序 ... 您可以使用此应用程序浏览Calabash,并作为如何配置Xcode项目和Calabash工作流的示例。 如果您在构建或运行时遇到问题,请参见下面的xcpretty和代码签名部分以了解调试方式。 入

    calabash-ios-server:嵌入式HTTP服务器,用于执行查询和测试自动化

    $ DEVELOPER_DIR=/Xcode/10.1/Xcode-beta.app make 如果您有构建错误,请参见下面的xcpretty部分。 维护者必须安装葫芦/瓢签私人仓库。 详细信息如下。 非维护人员将看到代码签名错误,例如: No certificate ...

Global site tag (gtag.js) - Google Analytics