先来看看什么是代码远程托管: 其实就是将我们的代码上传到GitHub的服务器上, 供别人下载, 当然了也可以在团队开发的时候, 使用GitHub进行代码合并工作, 下面我们进入正题

(已经有远程仓库的网址, 请直接跳转到2.0步骤查看)

(工程是从远程仓库拉取下来的, 并且写好了代码后, 不会进行拉取/推送, )

忠告: 进行拉取, 推送之前最好备份一下你的代码
Git方式 -> 步骤3.0
SVN方式 -> 步骤4.0
Git回滚-> 步骤5.0
SVN回滚-> 步骤6.0

步骤1.0 创建远程仓库

这里我们使用https://github.com (github现在支持GIT和SVN2种访问方式) (可能公司有自己的服务器, 会给你一个网址)(如果想只是使用SVN的, 推荐一个svn999.com)

1.1 我们需要注册



约束比较多, 账号和邮箱啊, 密码之类的, 如果有一个不符合人家规定, 就会跳转到一个页面, 会告诉你哪个不行, 修改之后, 显示对号了, 之后继续sign up(注册), 然后注册好之后, 重新进入到https://github.com

1.2 创建远程仓库

然后点击右上角+号, 新建个项目(远程仓库)





获取远程仓库的网址

2.0 在Xcode中进行代码克隆(下载)到本地



然后输入远程仓库的网址



设置和远程仓库交互的方式(用GIT还是SVN)(根据你远程仓库网址的类型, 如果是既支持GIT也支持SVN那就无所谓, 但是只支持其中一种方式, 那就不要选错了, 当然了, 账号密码也是要对应哪个网站, 或者服务器的)



如果点击Next错误了: 看看是不是这个



设置本地仓库位置





成功后, 就会自动打开你克隆(下载)的工程

步骤3.0 如何使用Xcode自带的Git进行代码的提交, 拉取, 推送

壮士:这里有碗汤你先喝了, 我们先来看下原理:参考这个链接:http://www.jianshu.com/p/0582e1908c22 可见, 我们需要做以下3步:

Commit操作:

解释: 先把Xcode工作区(你写的代码), 提交到本地仓库),

Pull操作:

解释: 然后从远程仓库拉取代码(可能别人刚传了别人写的, 你需要拉下来和你新写的合并一下), 然后在本地仓库合并后, 保证编译, 运行无错误后.

Push操作:

解释: 在进行将本地仓库你的代码推送到远程仓库上面.让团队里别的人可以进行下载

3.1 Commit操作

打开工程后, 看这里有个Source Control



点开我们来说一下



然后当你修改了代码后, 修改过的文件都是显示M



然后我们点击Source Control 菜单, 选择Commit(提交, 把Xcode工作区的变更提交到本地仓库)





然后点击commit按钮之后, M标志没了就代表提交变更已经到本地仓库啦, 但是不是远程仓库哦, 别人还不能拿到你新写的代码!!(庆祝一下, 成功一小步)

'

3.2 Pull(拉取)操作

点开Source Control 然后执行Pull操作

这个时候, 可能会出现警告提示, 如图:(如果没出现直接略过)

// 你有本地变更没有提交到本地仓库, 不让你去拉取代码



但是明明我们都Commit过了啊, 这是因为, 有一个配置文件实时的刷新(就是刚才没勾选那个), 那么我们只有删除它啦!

删除这个配置文件

进入终端

利用cd命令进入到我们工程所在的文件夹, 如图:



如图:



然后运行命令:

解释下参数

git rm --cached 工程名.xcodeproj/project.xcworkspace/xcuserdata/电脑用户名.xcuserdatad/UserInterfaceState.xcuserstate

例如:

git rm --cached php.xcodeproj/project.xcworkspace/xcuserdata/lidongxu.xcuserdatad/UserInterfaceState.xcuserstate

然后输入完命令, 回车运行



然后重新拉取, (或者你没出现警告, 应该是这样的)



点击Pull按钮之后, 就会把远程仓库的代码拉到本地了, 然后运行下吧看看有没有错误啊, 冲突之类的(如果有冲突, 就是商量下, 用谁的)





然后继续点击Pull按钮拉取代码

步骤3.3 Push(推送代码)到远程服务器

还是一样, 打开Source Control 然后点击Push

然后点击Push





然后点击Push按钮, 如果你是第一次配置, 可能会让你输入远程仓库网站对应的登录账号和密码



然后显示正在change, 等待一会儿



下面这个会一闪, 然后自己消失的哦!



然后怎么看我们是否正在把本地仓库代码推送到了远程服务器上, 看一下我们对应的网站


以上就是我们Git的基本使用过程

4.0 SVN使用方式

先来解释下Source Control 里不同的地方



然后现在我们编写完代码之后:

4.1 我们要拉取(update)远程仓库的代码

如果你不拉取, 就直接推送, 很可能把远程仓库里别人代码覆盖掉, 所以一定要先拉取

4.2然后确认没有错误之后, 然后提交(Commit)到远程仓库,

这个Commit跟Git中的可不一样哦!

4.3弹出这个界面, 选择你要推送的代码

这样, 我们SVN就基本使用过程


有的时候, 我们代码合乱了, 或者需要穿越回到昨天的那个代码样式怎么办? 不要怕. 代码版本管理就是为了方便我们的. 往下看

5.0 Git回滚本地代码

进入到我们本地仓库目录下

cd 仓库文件夹路径



然后我们可以看一下, 项目中代码现在是什么样子(这里就随便写了2个变量)



然后提交到本地仓库, 拉取代码合并, 推送到远程服务器, 现在远程服务器有版本0, 版本1 和版本2的代码了(本地是版本2的), 现在我想

让本地代码进行回滚.

5.1 查看我们提交的记录

输入命令 git log --pretty=oneline

5.2 git reset --hard HEAD^

HEAD^回滚上次提交 (取消刚才的提交)

HEAD^^ 回滚到上次的上次的提交

输入命令运行.

HEAD is now at d490df9 (本地代码变成上次提交的时候的样子了)




6.0 SVN回滚代码

现在代码是这样的.

6.1 先进入到本地仓库下

6.2 查看我们的提交记录

输入命令 svn log



每个r后面的数字 就是一次提交的记录

6.3 回滚到某次提交的时候的代码的样子

svn update -r 数字 (数字就是那个6 5 4 3 2 1)

根据自己电脑上的数字自己选择

这里我们回滚到最初的状态



完成之后打开代码查看

最后送个福利: http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013744142037508cf42e51debf49668810645e02887691000

[iOS]Xcode+GitHub远程代码托管(GIT, SVN)的更多相关文章

  1. 【iOS技术】Xcode+GitHub远程代码托管(GIT, SVN)

    原创 2016-05-24 旭哥 蓝鸥 学生对旭哥的评价是这样的: 旭哥 为什么这么年轻 知识却比我们多这么多............ 旭哥很是负责,对同学的各种问题都能够热心地解答,在旭哥的带领下, ...

  2. 使用命令创建github代码仓库,push本地仓库到github远程代码仓库

    1.利用命令创建github远程代码仓库 在将本地代码push到github远程代码仓库之前,总是需要新建github代码仓库,在将本地仓库关联到github远程仓库.其中最为繁琐的操作是建立gith ...

  3. Github远程库与Git本地库连接

    Github远程库与Git本地库连接 以下有任何[]符号只是将内容扩起,输入命令不需要将[]加入 创建SSH Key 用户主目录有.ssh->id_rsa和id_rae.pub->直接跳过 ...

  4. GitHub的代码托管和使用方法

    原文  GitHub托管 借助GitHub托管你的项目代码 PS:话说自己注册了GitHub都很久了,却没有怎么去弄,现在系统学习一下,也把自己的学习经历总结下来share给大家,希望大家都能把Git ...

  5. 使用github进行代码托管

    ---恢复内容开始--- 记录下使用github进行个人代码托管,github是公共的代码托管库,可以免费使用,由于是公共的所以大家都可以查看,如果是隐私重要的文件代码可以选择付费变为私有库 1.注册 ...

  6. 使用eclipse上传项目到开源中国代码托管Git@osc教程

    创建项目 安装EGit插件 没有的话看下图 生成公钥 注册git账号 新建git项目 添加公钥 建立本地代码库 本文章版权归博主所有,如需转载请私信.

  7. iOS 使用GitHub托管代码(github desktop使用)

    iOS 使用GitHub托管代码 代码托管 1.首先得有一个GitHub的账号,没有的话就去https://github.com注册一个吧. 2.下载GitHub Mac客户端:http://mac. ...

  8. Git的基本了解与使用、向github提交代码

    #Git的基本了解与使用.向github提交代码- git:是一个版本控制系统.- github:一个代码托管提供商.开源网站.是一个面向开源及私有软件项目的托管平台,因为支持Git作为唯一的版本库格 ...

  9. git与代码托管工具

    1.git初识 git是一个版本管理工具,用来管理项目的不同的版本,记录下不同的提交记录,git还可以构建不同的分支,用来给不同的人来推送使用. 推荐的git教程:https://www.cnblog ...

随机推荐

  1. 软件测试_APP测试_兼容性测试

    APP的兼容测试主要就是测试APP的安装.启动.运行.卸载测试,以及安装时间 .启动时间.CPU占用.内存占用.流量耗用.电量耗用等性能上的测试. 兼容性测试点: 一.内部兼容性: 1.与本地和其他主 ...

  2. yocto-sumo源码解析(二): oe-buildenv-internal

    1 首先,脚本先对运行方式进行了检测: if ! $(return >/dev/null 2>&1) ; then echo 'oe-buildenv-internal: erro ...

  3. 统计学习方法c++实现之六 支持向量机(SVM)及SMO算法

    前言 支持向量机(SVM)是一种很重要的机器学习分类算法,本身是一种线性分类算法,但是由于加入了核技巧,使得SVM也可以进行非线性数据的分类:SVM本来是一种二分类分类器,但是可以扩展到多分类,本篇不 ...

  4. 初次接触OSSEC

    OSSEC是一款开源的系统监控平台.它集成了HIDS(主机入侵检测).日志监控.安全事件管理(SIM).安全信息和事件管理(SIEM)于一身,结构简单.功能强大的开源解决方案. 主要优点 满足合规性 ...

  5. 微软职位内部推荐-Senior PM

    微软近期Open的职位: Senior Product Manager My Life & Work Beijing China Our passion is to enable people ...

  6. Notes of Daily Scrum Meeting(12.17)

    我们会尽量安排好时间,在其他作业不受影响的情况下加快项目的进度,在Deadline之前完成Beta阶段的工作. 今天的团队工作总结如下: 团队成员 今日团队工作 陈少杰 调试网络连接,补充后端代码 王 ...

  7. Linux内核学习总结(final)

    Linux内核学习总结 符钰婧 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ...

  8. 数据平面可编程与SDN关系理解,以及数据平面可编程的理解

    数据平面可编程与SDN关系 狭义 广义 数据平面可编程的理解 狭义 广义

  9. dispatch_block_t

    通常我写一个不带参数的块回调函数是这样写的 在 . h 头文件中 定义类型 typedef void (^leftBlockAction)(); 在定义一个回调函数 -(void)leftButton ...

  10. CMS垃圾收集器与G1收集器

    1.CMS收集器 CMS收集器是一种以获取最短回收停顿时间为目标的收集器.基于“标记-清除”算法实现,它的运作过程如下: 1)初始标记 2)并发标记 3)重新标记 4)并发清除 初始标记.从新标记这两 ...