在iOS开发, 涉及到多人协同开发的时候, 这个时候, 我们就得利用版本控制系统(例如GIT), 来合并和管理代码了, 今天我们来讲一下, 利用 SourceTree+oschina进行版本控制


先来灌点鸡汤:

版本控制的方式有2种, 分为GIT 和 SVN, 那么区别是什么呢, 简单说下, GIT(分布式) SVN(集中式)

那么什么是集中式, 什么是分布式呢: 看图

分布式的好处呢, 就是当前写完了代码, 提交到本地仓库后, 不用害怕丢失, 而且也可以做版本的记录, 如果将来有一天想找回几天前的代码, 也是可以的. 那么下面我们就来看看怎么玩吧!

第一步, 安装SourceTree

给种一枚: http://pan.baidu.com/s/1sjWOn9b

打开之后, 如果已经过期了的话, 那么直接Register Now 注册一下就可以了! (我这里略过_)

如果见到下面这个界面, 那就说明你的Source Tree 安装完成了!

第二步 去oschina申请远程仓库

给链接一枚: http://git.oschina.net



然后会给你注册时候的邮箱, 发送一个验证邮件, 注册一下

然后点击链接, 会跳转到主页

如果你是项目的创始人(小红), 那么你就点击项目(进行创建)

1. 第一步, 创建项目



2. 项目创建成功, 如下图

3. 因为我创建的私有项目(如果是私有项目, 则执行下面这步, 如果不是则略过下面这步(步骤3.x))

(3.1)点击右上角管理

(3.2)点击添加项目成员, 我这里另一个(小明)是lidongxu_work@126.com

这里说一下:

管理员: 最高权限
开发者: 可以上传或者克隆(下载)代码 (一般给予这个权限)
观察者: 只能下载, 无法上传
报告者: 只能看, 和评论, 什么也不能干!

(3.3)输入对方oschina邮箱账号, 然后给予权限

回到项目首页(注意是点你的项目, 例如我这里是a1209woshi)

4. 获取克隆的网址(给别人使用, 让别人可以用这个网址, 把对应的远程仓库东西克隆(下载)到本地)

我这里获取到的是 https://git.oschina.net/women2323/a1209woshi.git

5. 回到SourceTree, 新建本地仓库

填写克隆URL地址

如果是第一次使用SouceTree(并且是私人项目), 会弹出让你输入你的oschina账号和密码(小红)





6. 上传项目到远程仓库(供别人(小明)下载)

(6.1) 找到本地仓库文件夹(我的在桌面)

(6.2) 然后看工作区有变化, 然后把未暂存文件, 放入已暂存文件区中.



(6.3) 这里说一下, Git的工作原理图

(6.4) 然后commit(提交)到本地仓库分支中





(6.5) 养成一个好习惯, 先从远程仓库拉去一下, 然后在本地合并好了, 然后再推送回到远程仓库中, (也就是说, 合并代码是在本地进行的) (注: 如果你不拉取, 很容易把别人刚提交的代码, 顶掉)



(6.6) 回到网页上去看看, 刷新下, 会看到我刚传的项目

7. 别人如何拉取这个项目, 把HTTPS克隆网址给他(如果是私有项目, 请确定把对方oschina账号添加到你的项目中了)

(7.1) 同样, 从URL克隆(新建本地仓库)

(7.2) 然后填入克隆网址, 然后选择本地仓库位置

(7.3) 进入到工作区之后, 因为我是要克隆代码从远程仓库到本地, 所以直接点击拉取

(7.4) 你会惊奇的发现, 本地仓库里, 已经有了远程仓库的东西啦!!(以后再写好代码, 只需要执行第6步)就可以了, 这样就可以方便和别人进行团队协作开发了)

有错误还忘您指出,如果这篇文章帮助到您了,或者您有什么建议和补充,都可以留言告诉我哦!

[iOS]SourceTree+oschina实现代码远程托管的更多相关文章

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

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

  2. iOS如何上传代码到Github

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

  3. 如何在sourcetree 下提交代码到gerrit上

    gerrit的审核机制决定了提交到远程到代码并非远程master分支,而是/refs/for/master 分支,所以需要解决怎么在sourcetree下提交代码到/refs/for/master分支 ...

  4. ios蓝牙开发(三)ios连接外设的代码实现:手机app去读写蓝牙设备。

    手机app去读写蓝牙设备....... 代码下载: 原文博客主提供Github代码连接,地址是:https://github.com/coolnameismy/demo ios连接外设的代码实现流程: ...

  5. iOS 蓝牙开发(二)iOS 连接外设的代码实现(转)

    转载自:http://www.cocoachina.com/ios/20150917/13456.html 原文作者:刘彦玮 上一篇文章介 绍了蓝牙的技术知识,这里我们具体说明一下中心模式的应用场景. ...

  6. iOS开发关于Block代码错误

    本文永久地址为http://www.cnblogs.com/ChenYilong/p/4052362.html ,转载请注明出处. iOS开发关于Block代码错误 Incompatible bloc ...

  7. iOS书摘之编写高质量iOS与OS X代码的52个有效方法

    来自<Effective Objective-C 2.0编写高质量iOS与OS X代码的52个有效方法>一书的摘要总结 一.熟悉Objective-C 了解Objective-C语言的起源 ...

  8. 使用SourceTree将bitbucket的远程仓库回滚到某一次提交-b

    目的: 使用SourceTree将bitbucket的远程仓库回滚到某一次提交. 原理: 在本地需要回滚的commit上创建一个分支,将该分支合并到远程仓库. 准备: 远程仓库有一个master主分支 ...

  9. iOS_SN_BlueTooth (二)iOS 连接外设的代码实现

    原文:http://www.cocoachina.com/ios/20150917/13456.html?utm_source=tuicool&utm_medium=referral 上一篇文 ...

随机推荐

  1. ERP系统实施与企业内部控制管理实践

    COSO内部控制体系包含5 个要素,分别为控制环境.风险评估.控制活动.信息与沟通.监督,涉及公司层面的控制.业务活动的控制以及信息系统总体控制.随着ERP系统的上线运行,企业的内部控制体系建设应与E ...

  2. 新 四则运算题目 C++

    源代码: #include <stdlib.h>#include <iostream.h>#include <conio.h>#include <time.h ...

  3. Analyzer使用第二Y轴,以及同一分析图不同量值使用不同的图形样式

    Analyzer的建立分析图后,图中有两个量值,希望能显示成不同的图形样式,如一个是柱图.一个是线图. 1.设置显示多个量值: 3.设置显示出图例,即表明图中量值内容的说明: 2.右键图例中要修改为不 ...

  4. C#_音乐播放器_用ListBox显示歌词

    在用ListBox显示歌词的时候,可以显示多行,同时可以控制每一行显示的样式等等.控制显示样式是在它的DrawItem事件中来控制的.首先要先将ListBox的DrawMode属性设置为OwnerDr ...

  5. 设计模式之状态模式(State)

    状态模式原理:随着状态的变化,对象的行为也发生变化 代码如下: #include <iostream> #include <string> #include <list& ...

  6. HTTP1.1缓存策略

    以下是一幅虽然信息包含量有限.但足够以最简洁的方式说明了“什么是HTTP1.1缓存策略”的图  缓存和缓存策略 web缓存(web cache)或代理缓存(proxy cache)是一种特殊的HTTP ...

  7. map初始化定时器

    init_timer(); //各种定时器的初始化 void Map::init_timer() { //auto tf = GetPlug(TimerFactory); auto tf = m_sp ...

  8. 研究AFIncrementalStore

    一.增量存贮(AFIncrementalStore:NSIncrementalStore)在CoreData中所处位置

  9. JavaScript之isNaN()函数讲解

    定义和用法 isNaN() 函数用于检查其参数是否是非数字值. 语法 isNaN(x) 参数 描述 x 必需.要检测的值. 返回值 如果 x 是特殊的非数字值 NaN(或者能被转换为这样的值),返回的 ...

  10. webvector将html转为svg或者png图片的工具

    有些js较多,html组织不好的页面转换起来很不理想,cnblog转换的还不错 http://cssbox.sourceforge.net/webvector/