参考:http://www.cnblogs.com/dongdongdong521/articles/5219417.html
在iOS开发, 涉及到多人协同开发的时候, 这个时候, 我们就得利用版本控制系统(例如GIT), 来合并和管理代码了, 今天我们来讲一下, 利用 SourceTree+oschina进行版本控制
先来灌点鸡汤:
版本控制的方式有2种, 分为GIT 和 SVN, 那么区别是什么呢, 简单说下, GIT(分布式) SVN(集中式)
那么什么是集中式, 什么是分布式呢: 看图
![](https://img.haomeiwen.com/i1955259/467448fcc3a49b8f.png)
![](https://img.haomeiwen.com/i1955259/4930ace461f01c1e.png)
分布式的好处呢, 就是当前写完了代码, 提交到本地仓库后, 不用害怕丢失, 而且也可以做版本的记录, 如果将来有一天想找回几天前的代码, 也是可以的. 那么下面我们就来看看怎么玩吧!
第一步, 安装SourceTree
给种一枚:http://pan.baidu.com/s/1sjWOn9b
![](https://img.haomeiwen.com/i1955259/8de7d94385fedc8c.png)
打开之后, 如果已经过期了的话, 那么直接Register Now 注册一下就可以了! (我这里略过_)
如果见到下面这个界面, 那就说明你的Source Tree 安装完成了!
![](https://img.haomeiwen.com/i1955259/a260a162b1e8227b.png)
第二步 去oschina申请远程仓库
给链接一枚:http://git.oschina.net
![](https://img.haomeiwen.com/i1955259/ecc048937c3639bb.png)
![](https://img.haomeiwen.com/i1955259/4f90a82b57b01d25.png)
然后会给你注册时候的邮箱, 发送一个验证邮件, 注册一下
![](https://img.haomeiwen.com/i1955259/6404a662744c0079.png)
然后点击链接, 会跳转到主页
![](https://img.haomeiwen.com/i1955259/7be76fc984892230.png)
如果你是项目的创始人(小红), 那么你就点击项目(进行创建)
1. 第一步, 创建项目
![](https://img.haomeiwen.com/i1955259/42a7531993cf505c.png)
![](https://img.haomeiwen.com/i1955259/574bb99bd181f1f0.png)
2. 项目创建成功, 如下图
![](https://img.haomeiwen.com/i1955259/542350878e5a21a1.png)
3. 因为我创建的私有项目(如果是私有项目, 则执行下面这步, 如果不是则略过下面这步(步骤3.x))
(3.1)点击右上角管理
![](https://img.haomeiwen.com/i1955259/62fb625909fa0e29.png)
(3.2)点击添加项目成员, 我这里另一个(小明)是lidongxu_work@126.com
![](https://img.haomeiwen.com/i1955259/8882fe6cf0b1d98e.png)
这里说一下:
管理员: 最高权限
开发者: 可以上传或者克隆(下载)代码 (一般给予这个权限)
观察者: 只能下载, 无法上传
报告者: 只能看, 和评论, 什么也不能干!
(3.3)输入对方oschina邮箱账号, 然后给予权限
![](https://img.haomeiwen.com/i1955259/4098919d11ef7a8d.png)
回到项目首页(注意是点你的项目, 例如我这里是a1209woshi)
![](https://img.haomeiwen.com/i1955259/939d58cf50679da5.png)
4. 获取克隆的网址(给别人使用, 让别人可以用这个网址, 把对应的远程仓库东西克隆(下载)到本地)
我这里获取到的是https://git.oschina.net/women2323/a1209woshi.git
![](https://img.haomeiwen.com/i1955259/00b1573c82c1622d.png)
5. 回到SourceTree, 新建本地仓库
![](https://img.haomeiwen.com/i1955259/ebde851e9936ff48.png)
填写克隆URL地址
如果是第一次使用SouceTree(并且是私人项目), 会弹出让你输入你的oschina账号和密码(小红)
![](https://img.haomeiwen.com/i1955259/88bb2640cbfdc957.png)
![](https://img.haomeiwen.com/i1955259/4d09c30adea67f1c.png)
![](https://img.haomeiwen.com/i1955259/c6691f074ef62e9d.png)
6. 上传项目到远程仓库(供别人(小明)下载)
(6.1) 找到本地仓库文件夹(我的在桌面)
![](https://img.haomeiwen.com/i1955259/c1e76434577db6ad.png)
(6.2) 然后看工作区有变化, 然后把未暂存文件, 放入已暂存文件区中.
![](https://img.haomeiwen.com/i1955259/ec140f9943d13ab9.png)
![](https://img.haomeiwen.com/i1955259/9d79b3b8e07a9123.png)
(6.3) 这里说一下, Git的工作原理图
![](https://img.haomeiwen.com/i1955259/205d095a508efac8.png)
(6.4) 然后commit(提交)到本地仓库分支中
![](https://img.haomeiwen.com/i1955259/da29252c78ebe2b4.png)
![](https://img.haomeiwen.com/i1955259/6ef76d3a54261735.png)
![](https://img.haomeiwen.com/i1955259/9aac05cf9aa79a81.png)
(6.5) 养成一个好习惯, 先从远程仓库拉去一下, 然后在本地合并好了, 然后再推送回到远程仓库中, (也就是说, 合并代码是在本地进行的) (注: 如果你不拉取, 很容易把别人刚提交的代码, 顶掉)
![](https://img.haomeiwen.com/i1955259/6e13ce9650afe3df.png)
![](https://img.haomeiwen.com/i1955259/ad7cb101352a6474.png)
(6.6) 回到网页上去看看, 刷新下, 会看到我刚传的项目
![](https://img.haomeiwen.com/i1955259/e4a8778f4d66e4d2.png)
7. 别人如何拉取这个项目, 把HTTPS克隆网址给他(如果是私有项目, 请确定把对方oschina账号添加到你的项目中了)
(7.1) 同样, 从URL克隆(新建本地仓库)
![](https://img.haomeiwen.com/i1955259/08b8fdbbf1447b05.png)
(7.2) 然后填入克隆网址, 然后选择本地仓库位置
![](https://img.haomeiwen.com/i1955259/0c759a5ef56c5069.png)
(7.3) 进入到工作区之后, 因为我是要克隆代码从远程仓库到本地, 所以直接点击拉取
![](https://img.haomeiwen.com/i1955259/bb4b25153a37c336.png)
(7.4) 你会惊奇的发现, 本地仓库里, 已经有了远程仓库的东西啦!!(以后再写好代码, 只需要执行第6步)就可以了, 这样就可以方便和别人进行团队协作开发了)
网友评论