[iOS]Xcode+GitHub远程代码托管(GIT, SVN)
先来看看什么是代码远程托管: 其实就是将我们的代码上传到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)的更多相关文章
- 【iOS技术】Xcode+GitHub远程代码托管(GIT, SVN)
原创 2016-05-24 旭哥 蓝鸥 学生对旭哥的评价是这样的: 旭哥 为什么这么年轻 知识却比我们多这么多............ 旭哥很是负责,对同学的各种问题都能够热心地解答,在旭哥的带领下, ...
- 使用命令创建github代码仓库,push本地仓库到github远程代码仓库
1.利用命令创建github远程代码仓库 在将本地代码push到github远程代码仓库之前,总是需要新建github代码仓库,在将本地仓库关联到github远程仓库.其中最为繁琐的操作是建立gith ...
- Github远程库与Git本地库连接
Github远程库与Git本地库连接 以下有任何[]符号只是将内容扩起,输入命令不需要将[]加入 创建SSH Key 用户主目录有.ssh->id_rsa和id_rae.pub->直接跳过 ...
- GitHub的代码托管和使用方法
原文 GitHub托管 借助GitHub托管你的项目代码 PS:话说自己注册了GitHub都很久了,却没有怎么去弄,现在系统学习一下,也把自己的学习经历总结下来share给大家,希望大家都能把Git ...
- 使用github进行代码托管
---恢复内容开始--- 记录下使用github进行个人代码托管,github是公共的代码托管库,可以免费使用,由于是公共的所以大家都可以查看,如果是隐私重要的文件代码可以选择付费变为私有库 1.注册 ...
- 使用eclipse上传项目到开源中国代码托管Git@osc教程
创建项目 安装EGit插件 没有的话看下图 生成公钥 注册git账号 新建git项目 添加公钥 建立本地代码库 本文章版权归博主所有,如需转载请私信.
- iOS 使用GitHub托管代码(github desktop使用)
iOS 使用GitHub托管代码 代码托管 1.首先得有一个GitHub的账号,没有的话就去https://github.com注册一个吧. 2.下载GitHub Mac客户端:http://mac. ...
- Git的基本了解与使用、向github提交代码
#Git的基本了解与使用.向github提交代码- git:是一个版本控制系统.- github:一个代码托管提供商.开源网站.是一个面向开源及私有软件项目的托管平台,因为支持Git作为唯一的版本库格 ...
- git与代码托管工具
1.git初识 git是一个版本管理工具,用来管理项目的不同的版本,记录下不同的提交记录,git还可以构建不同的分支,用来给不同的人来推送使用. 推荐的git教程:https://www.cnblog ...
随机推荐
- python 连接 hive 的 HiveServer2 的配置坑
环境: hadoop 2.7.6 hive 2.3.4 Hive 的 thirft 启动: hadoop 单机或者集群需要: 启动 webhdfs 修改 hadoop 的代理用户 <proper ...
- 4、c++ Arx二次开发创建多段线
一.本节课程 c++ Arx二次开发创建多段线 二.本节要讲解的知识点 如何应用C++ ARX二次开发创建多段线(AcDbPolyline.AcDb2dPolyLine.AcDb3dPolyline的 ...
- MVC模式简单的Xml文档解析加Vue渲染
前端代码: <script src="~/Js/jquery-3.3.1.min.js"></script> <script src="~/ ...
- 35道Redis面试题
1.什么是redis? Redis 是一个基于内存的高性能key-value数据库. 2.Reids的特点 Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数 ...
- 基于SSH框架的网上书店系统开发的质量属性
基于SSH框架的网上书店系统开发的质量属性 对于我的基于SSH框架的网上书店系统的开发要实现的质量属性有可用性.可修改性.性能.安全性.易用性和可测试性. 1.对于可用性方面的战术: 可用性(Avai ...
- ”数学口袋精灵“第二个Sprint计划---第二天
“数学口袋精灵”第二个Sprint计划----第二天进度 任务分配: 冯美欣:欢迎界面的音效 吴舒婷:游戏界面的动作条,选择答案后的音效 林欢雯:完善算法代码的设计 进度: 冯美欣:找到了几个音乐 ...
- Daily Scrum - 11/19
今天任烁帮忙更新了大家在Sprint 2中的Task,基本每人的Task都是细分到每天的,这样大家初期的工作应该会更有效率一点. 任烁今天表示“进度条背词法”应该是可以融合到原有算法中的,期待他的改进 ...
- python获取命令行参数的方法(汇总)
介绍python获取命令行参数的方法:getopt模和argparse模块. python版本:2.7 一.getopt模块 主要用到了模块中的函数: options, args = getopt.g ...
- jvm垃圾回收机制和常见算法
这是朋友给的面试题里边的,具体地址已经找不到,只能对原作者说声抱歉了: 理论上来讲sun公司只定义了垃圾回收机制规则,而步局限于其实现算法,因此不同厂商生产的虚拟机采用的算法也不尽相同. GC(Gar ...
- .net 开源组件推荐 之 StackExchange
已经两年没更新过博客了!!! StackExchange,地址:https://github.com/StackExchange,开源的这些项目都是在StackOverflow线上使用的. 说起Sta ...