几乎所有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 master

Initial 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 master

Initial 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 master

Initial 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 master
nothing 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主页,你的工程已经添加成功了~!

Xcode 上传代码到GitHub的更多相关文章

  1. 使用Xcode上传代码至GitHub

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

  2. Xcode上传代码到github

    1.下载GitHub的Mac客户端 2.在Finder->下载,找到双击安装 3.打开Github Desktop软件, 需要进行登录, 登录的用户名密码就是github的用户信息,(如果没有去 ...

  3. windows上传代码到github

    上传代码到github上有很多种方法,在这里我介绍一种比较简单的一种.工具嘛,越简单越好用啊. 1.首先下载github在windows下的客户端 下载地址:https://desktop.githu ...

  4. iOS如何上传代码到Github

    iOS如何上传代码到Github 很多iOS开发者想开源自己的代码或者demo,开源到Github是个不错的选择,那么如何上传我们的代码到Github,令所有人可以下载使用呢?这里我们的目的很明确,就 ...

  5. 使用webstorm上传代码到github

    使用webstorm上传代码到github 字数681 阅读330 评论0 喜欢5 之前使用过webstorm上传代码到github,过了几个月竟然发现自己忘记了,好记性不如烂笔头啊,今天又重新用了一 ...

  6. git上传代码到github

    git上传代码到github [root@bigdata-hadoop- ~]# git init [root@bigdata-hadoop- ~]# git add zeppelin [root@b ...

  7. GIT如何从本地上传代码到github

    转载请标明出处: http://blog.csdn.net/hanhailong726188/article/details/46738929 本文出自:[海龙的博客] 开篇之前说下题外话,之前写过一 ...

  8. 通过Webstorm上传代码到Github、更新代码后同步到github及克隆github代码到本地的方法

    导读: Github做为IT爱好者分享代码的一个知名的平台,广受大家喜欢,那么我们平时该怎么将自己写的代码上传到github上面保存并且提供给其他人参考? 我想方法不外乎如下几个: 1.直接在gith ...

  9. 如何上传代码到github?

    如何上传代码到github? 首先你需要一个github账号,所有还没有的话先去注册吧! https://github.com/ 我们使用git需要先安装git工具,这里给出下载地址,下载后一路直接安 ...

随机推荐

  1. 专业运维配的vsftpd.conf

    需要另外写userlist,下面的配置文件可以参考,这是使用云镜像市场的全能java环境装的机. [root@VM_1_202_centos vsftpd]# cat vsftpd.conf # Ex ...

  2. Kubernetes e2e test and test framework

    前言 Kubernetes的成功少不了大量工程师的共同参与,而他们之间如何高效的协作,非常值得我们探究.最近研究和使用了他们的e2e测试和框架,还是挺有启发的. 怎样才是好的e2e测试? 不同的人写出 ...

  3. jmeter系列-------注意事项

    1.自己创建的数据自己擅长,不要留垃圾数据 2.每个接口都需要增加断言,保证脚本的结果的正确性 3.相同的应用放在一个简单控制器下,所有的应用尽量放在一个线程组下面,将特殊场景单独抽离成一个线程组 4 ...

  4. MongoDB学习之——安装

    MongoDB安装 说明: 本次安装教程: 版本:mongoDB-3.2.4 安装环境:windows 10 ,64位操作系统 准备:安装包.Robomongo(客户端用于查看mongoDB里面的数据 ...

  5. 边看MHA源码边学Perl语言之一开篇

    边看MHA源码边学Perl语言之一开篇 自我简介 先简单介绍一下自己,到目前为此我已经做了7年左右的JAVA和3年左右php开发与管理,做java时主要开发物流行业的相关软件,对台湾快递,国际快递,国 ...

  6. Akka(24): Stream:从外部系统控制数据流-control live stream from external system

    在数据流应用的现实场景中常常会遇到与外界系统对接的需求.这些外部系统可能是Actor系统又或者是一些其它类型的系统.与这些外界系统对接的意思是在另一个线程中运行的数据流可以接收外部系统推送的事件及做出 ...

  7. Linux-insmod/rmmod/lsmod驱动模块相关命令(10)

    insmod:加载模块 参数: -f 不检查目前kernel版本与模块编译时的kernel版本是否一致,强制将模块载入.-k 将模块设置为自动卸除.-m 输出模块的载入信息.-o   <模块名称 ...

  8. vi/vim键盘图-

    vi/vim键盘图-----又一张桌面背景好图 也许还是有很多人不能愿意用CLI的vi/Vim来写东西,不过,当你真的习惯了,它的高效性就是不可估量了.下面的这张图,一看就明白了,从此,学习变的不再艰 ...

  9. Windbg DUMP

    Windbg DUMP分析(原创汇总) 1. 引入篇 1.1 下载安装 1.2 调试器 1.3 操作界面2. 命令篇 2.1 按照来源划分 2.1.1 基本命令 2.1.2 元命令 2.1.3 扩展命 ...

  10. windows下使用密钥登录Linux及xshell代理转发

    1.密钥登录原理 一般我们使用xshell访问远程主机(Linux主机)时,都是先请管理员给我们开一个账户,即为我们设置一个一个用户名和对应的密码,然后我们就可以使用下面的方式登录到远程主机了: 在这 ...