文档章节

使用Xcode上传代码至GitHub

木木情深
 木木情深
发布于 2015/01/05 17:05
字数 1470
阅读 181
收藏 3

几乎所有iOS程序员都上过GitHub寻找开源类库,的确,GitHub上有大量优秀的开源类库供大家学习。但是如何在Xcode中上传代码至GitHub呢?

(开始之前先安装git,具体方法这里讲的很清楚:http://git.oschina.net/progit/1-起步.html)

开始

首先我们新建一个工程,记得要勾选Create git repository on:

这说明使用Source Control,会默认在工程中创建git repository。然后工程新建完成后,会在右侧边栏看到这些信息,说明已经启用Source Control

如果没有使用Source Control,则是这样的:

现在我们已经在工程中启用了Source Control,这样就可以使用git来管理工程版本了

但是如果我们想对一个未启用git的工程加入git的功能怎么做呢?我们可以使用命令行来开启此功能,新建一个工程,不勾选Create git repository on,此时我们没有开启Source Control,然后我们手动创建git管理,如下图所示:

YiBantekiiMac-3:UseGit YiBan$ cd /Users/YiBan/Documents/iOS_Dev/ManualGitDemo
YiBantekiiMac-3:ManualGitDemo YiBan$ git init
Initialized empty Git repository in /Users/YiBan/Documents/iOS_Dev/ManualGitDemo/.git/

使用

git init

来初始化一个空的git仓库,现在使用ls-la命令查看目录下的所有文件(包含隐藏文件)

total 16
drwxr-xr-x   7 YiBan  staff   238  5 12 16:10 .
drwxr-xr-x  52 YiBan  staff  1768  5 12 16:06 ..
-rw-r--r--@  1 YiBan  staff  6148  5 12 16:10 .DS_Store
drwxr-xr-x   9 YiBan  staff   306  5 12 16:06 .git
drwxr-xr-x  12 YiBan  staff   408  5 12 16:06 ManualGitDemo
drwxr-xr-x   5 YiBan  staff   170  5 12 16:06 ManualGitDemo.xcodeproj
drwxr-xr-x   5 YiBan  staff   170  5 12 16:06 ManualGitDemoTests

此时我们看到除了三个文件之外还有两个隐藏文件,.DS_Store和.git,.DS_Store是由OS X生成的文件,包含了文件夹中的位置属性,.git则是启用了Source Control自动生成的目录,然后使用git status查看当前状态:

YiBantekiiMac-3:ManualGitDemo YiBan$ git status
On branch masterInitial commit

Untracked files:
  (use "git add <file>..." to include in what will be committed)

    .DS_Store
    ManualGitDemo.xcodeproj/
    ManualGitDemo/
    ManualGitDemoTests/

nothing added to commit but untracked files present (use "git add" to track)

说明初始化成功了,显示出了未被追踪的文件。不过我们并不希望把.DS_Store也加入的git中,因为那文件对我们没有任何用处,我们可以忽略它,具体做法是:新建一个文件,命名为.gitignore,然后使用文本编辑器输入以下信息:

# Xcode

.DS_Store

*/build/*

*.pbxuser 
!default.pbxuser 
*.mode1v3 
!default.mode1v3 
*.mode2v3 
!default.mode2v3 
*.perspectivev3 
!default.perspectivev3 
xcuserdata
profile 
*.moved-aside 
DerivedData
.idea/
*.hmap

保存至工程文件夹中,这样我们目录中就多出一个.gitignore文件了,这时我们再用git status命令查看当前状态:

YiBantekiiMac-3:ManualGitDemo YiBan$ git status
On branch masterInitial commit

Untracked files:
  (use "git add <file>..." to include in what will be committed)

    .gitignore
    ManualGitDemo.xcodeproj/
    ManualGitDemo/
    ManualGitDemoTests/

nothing added to commit but untracked files present (use "git add" to track)

这里看到已经没有.DS_Store了,说明.gitignore已经把.DS_Store忽略了。现在可以提交了,使用

git add .

此命令先将文件添加至暂存区域,但还没有提交,查看下状态:

YiBantekiiMac-3:ManualGitDemo YiBan$ git status
On branch masterInitial commit

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)

    new file:   .gitignore
    new file:   ManualGitDemo.xcodeproj/project.pbxproj
    new file:   ManualGitDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata
    new file:   ManualGitDemo/AppDelegate.h
    new file:   ManualGitDemo/AppDelegate.m
    new file:   ManualGitDemo/Base.lproj/Main.storyboard
    new file:   ManualGitDemo/Images.xcassets/AppIcon.appiconset/Contents.json
    new file:   ManualGitDemo/Images.xcassets/LaunchImage.launchimage/Contents.json
    new file:   ManualGitDemo/ManualGitDemo-Info.plist
    new file:   ManualGitDemo/ManualGitDemo-Prefix.pch
    new file:   ManualGitDemo/ViewController.h
    new file:   ManualGitDemo/ViewController.m
    new file:   ManualGitDemo/en.lproj/InfoPlist.strings
    new file:   ManualGitDemo/main.m
    new file:   ManualGitDemoTests/ManualGitDemoTests-Info.plist
    new file:   ManualGitDemoTests/ManualGitDemoTests.m
    new file:   ManualGitDemoTests/en.lproj/InfoPlist.strings

现在进行提交,使用git commit -m "Initail"命令,引号内的内容是提交的注释,随便写什么都可以:

YiBantekiiMac-3:ManualGitDemo YiBan$ git commit -m "Initial"
[master (root-commit) 83bbefc] Initial
 17 files changed, 803 insertions(+)
 create mode 100644 .gitignore
 create mode 100644 ManualGitDemo.xcodeproj/project.pbxproj
 create mode 100644 ManualGitDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata
 create mode 100644 ManualGitDemo/AppDelegate.h
 create mode 100644 ManualGitDemo/AppDelegate.m
 create mode 100644 ManualGitDemo/Base.lproj/Main.storyboard
 create mode 100644 ManualGitDemo/Images.xcassets/AppIcon.appiconset/Contents.json
 create mode 100644 ManualGitDemo/Images.xcassets/LaunchImage.launchimage/Contents.json
 create mode 100644 ManualGitDemo/ManualGitDemo-Info.plist
 create mode 100644 ManualGitDemo/ManualGitDemo-Prefix.pch
 create mode 100644 ManualGitDemo/ViewController.h
 create mode 100644 ManualGitDemo/ViewController.m
 create mode 100644 ManualGitDemo/en.lproj/InfoPlist.strings
 create mode 100644 ManualGitDemo/main.m
 create mode 100644 ManualGitDemoTests/ManualGitDemoTests-Info.plist
 create mode 100644 ManualGitDemoTests/ManualGitDemoTests.m
 create mode 100644 ManualGitDemoTests/en.lproj/InfoPlist.strings

再查看下状态:

YiBantekiiMac-3:ManualGitDemo YiBan$ git status
On branch masternothing to commit, working directory clean

好了,当前工作区是干净的,代码都已经提交完毕了。我们可以用Xcode提交代码,也可以用命令来提交,但是用命令行的话可以做的事情更多一些。使用Xcode可以查看提交的历史纪录,Source Control->History:

添加工程至GitHub

首先必须有GitHub的帐号,没有的话去注册一个,并且还要创建SSH,GitHub使用了公私密钥,确保与你的电脑通讯过程是安全的。

SSH创建过程是这样的:

1. 在命令行输入cd ~/.ssh,然后ls,看看此文件夹下有哪些文件,如果有id_rsa.pub或者id_dsa.pub(名字可能会不同),说明你已经有SSH keys了,你可以将它添加到你的账户中

2. 如果没有的话,你讲得到"No such file or directory"这个错误信息,此时你可以通过命令生成出来:

ssh-keygen -t rsa -C "YOUR EMAIL"

在那里填写你的email地址,之后会被要求填写密码,此时的SSH keys就生成好了,有了SSH Keys后将其添加至你的GitHub账户中就可以了,在账户设置中找到SSH keys这一项,然后填写title和key,现在,你的SSH Key就和GitHub账户绑定了

前往个人主页,新建一个repository(网页右上方),会要输入一些信息:

输入Repository name和描述,然后选创建,会看到repository的链接:

把链接赋值下来,前往Xcode中,Source Control->第一项->Configure...,之后选Remotes:

Add Remote中,输入Name(你工程的名字)和Address(之前的链接地址),然后Source Control->Push,选择刚刚新建的链接,Push~

现在刷新下GitHub主页,你的工程已经添加成功了~!


本文转载自:http://www.daxueit.com/article/3414.html

木木情深
粉丝 37
博文 189
码字总数 26451
作品 0
广州
程序员
私信 提问
iOS开发之使用git传代码到github

现在越来越多的公司采用了作为版本管理工具,相对于传统的,有着明显的优势,今天写一篇入门文章,教大家如何将自己写好的项目通过传到账户上。 一、github准备工作 在上创建一个属于自己的账...

YungFan
2018/07/20
0
0
MAC上Git安装与GitHub基本使用(一)

屏幕快照 2018-01-06 下午4.16.20.png 目录 安装git 创建ssh key、配置git 提交、上传 一、安装Git MAC 上安装Git主要有两种方式 1、通过homebrew安装Git 1、安装homebrew 2、安装git 2、通过...

FJ_WB
2018/01/06
0
0
使用Xcode向github上传代码

几乎所有iOS程序员都上过GitHub寻找开源类库,的确,GitHub上有大量优秀的开源类库供大家学习。但是如何在Xcode中上传代码至GitHub呢? (开始之前先安装git,具体方法这里讲的很清楚:http:...

媛美一生
2016/06/17
51
0
iOS 本地自动打包工具

自动打包 1、为什么要自动打包工具? 每修改一个问题,测试都让你打包一个上传fir , 你要clean -> 编译打包 -> 上传fir -> 通知测试。而且打包速度好慢,太浪费时间了。如果有一个工具能自动...

smalldu
2016/08/17
0
0
git文章列表

关于gitlab默认clone协议 Git实现从本地添加项目到远程仓库 翻翻git之---一个简单的标签控件 LabelView (随手发了两张小宝宝的玩耍照) Git 项目推荐 | Java 版微信普通号机器人 翻翻git之---...

d_watson
2016/04/20
27
0

没有更多内容

加载失败,请刷新页面

加载更多

搭建高可用MongoDB集群(分片)

搭建高可用MongoDB集群(分片) MongoDB基础请参考:https://blog.51cto.com/kaliarch/2044423 MongoDB(replica set)请参考:https://blog.51cto.com/kaliarch/2044618 一、概述 1.1 背景 ......

linjin200
16分钟前
4
0
CDH6.0.1集成tez-0.9.1计算引擎

参考文章: https://www.jianshu.com/p/9fb9f32e1f0f https://www.baidu.com/link?url=OgpwasnZi7H1dySN2T111sseEWDBaCCTC3DFV61G7756YbrkJCA8Y3UFaueyqnfN&wd=&eqid=daeb8b3500049cf3000000......

Sheav
18分钟前
4
0
Vue内置指令的使用

v-model(数据绑定) v-model常用于表单数据的双向绑定,它本质上是一个语法糖。它主要的有两种应用: 在文本框、多行文本、input的下拉框、单选按钮、复选框中的应用 <div id="app"> ...

凌兮洛
19分钟前
4
0
外部来源应用检查-烦死了,终于找到解决设置了

Android 连接usb调试应用的时候: 华为关闭方法:1、设置-安全-更多安全设置,关掉外部来源应用检查。2、设置-系统-开发人员选项-关闭“监控ADB安装应用” 不知道OPPO 怎么关闭的?...

QGlaunch
20分钟前
4
0
6个K8s日志系统建设中的典型问题,你遇到过几个?

作者 | 元乙 阿里云日志服务数据采集客户端负责人,目前采集客户端 logtail 在集团百万规模部署,每天采集上万应用数 PB 数据,经历多次双 11、双 12 考验。 导读:随着 K8s 不断更新迭代,使...

阿里云官方博客
22分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部