版本控制—— SVN & GITgit
提问windows
什么是版本控制?安全
是可以一直监视代码文件的变动,并存储这些文件以便未来引用的一种机制(软件)服务器
为何要使用版本控制?网络
不使用版本控制还会出现什么问题?框架
不使用版本控制可能出现的问题ssh
版本控制(Revision Control)分布式
是维护工程蓝图的标准作法,能追踪工程蓝图从诞生一直到定案的过程。是一种记录若干文件内容变化,以便未来查阅特定版本修订状况的系统svn
如今就开始使用版本控制工具
若是是开发团队中的一员,使用版本控制是强制性的!
若是是单人开发,也强烈建议如今就开始使用版本控制
使用版本控制能够:
版本控制工具
SVN
SVN基本交互流程图
SVN服务器安装
VisualSVN-Server
到公司,管理员创建用户名&密码,而后告知svn的地址
http: 80
https: 443
Subversion目录规范
SVN客户端软件
有了Xcode,为何还要使用客户端软件?
SVN复习
服务器:代码仓库
协议头:
http: 80 不勾选
https: 443 勾选安全
服务器上选中服务器,点击右键,选择”properties(属性)”network(网络)
客户端:Versions
1. Repository Bookmark书签,代码仓库的标签
2. SVN的一个代码仓库中能够放多个项目
3. 用客户端最大的目的就是辅助检查是否有遗漏的状况
大部分工做在Xcode中均可以完成
Xcode工做:先更新,再提交!
Xcode中,最好不要多人同时修改一个Storyboard!
注意!!!
.svn这个隐藏目录记录着两项关键的信息
注意:千万不要手工修改或删除这个 .svn隐藏目录和里面的文件! 不然将会致使本地的工做副本被破坏,没法再进行操做
SVN与Xcode集成演练
关于分支的细节:
使用SVN咱们应该
提示
GIT
GIT简介
GIT是一款自由和开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目
是Linus(李纳斯)的第二个伟大做品,2005年因为BitKeeper软件公司对Linux社区中止了无偿使用权。Linus迫不得己本身开发了一个分布式版本控制工具,从而Git诞生了
几乎全部优秀的iOS第三方框架都使用GIT
目前移动开发领域,愈来愈多的公司开始转向GIT
Xcode中已经集成了最经常使用的GIT功能
SVN vs GIT
SVN
集中式
效率略差
国内使用的较为普遍
由较好的图形化客户端和服务器支持,学习和使用相对简单
项目分支管理简单
GIT
分布式
效率高
国际上已经广泛使用,移动互联网项目开始愈来愈多地转向GIT
Xcode集成的功能已经可以知足大部分平常需求,但还有少许命令须要在终端输入,学习曲线相对陡峭
项目分支能够无限细分,更适合大型项目的版本规划
选择GIT的理由
GIT工做模型
集中式协同模型
社交网络式协同模型
GIT基本交互流程图
GIT仓库初始化
仓库初始化
git init --bare shared.git
仓库文件目录
HEAD: 指向当前分支的一个提交
description: 项目的描述信息
config: 项目的配置信息
info/: 里面有一个exclude文件,指定本项目要忽略的文件
objects/: Git对象库(commit/tree/blob/tag)
refs/: 标识每一个分支指向哪一个提交
hooks/: 默认的hook脚本
GIT设置配置信息
命令
git config -l 查看配置信息
git config -e 编辑配置信息
默认修改.git/config文件
我的信省息初始化(不要随意修改)
git config user.name "user01"
git config user.email "user01@163.com"
提示:若是没有配置全局信息,每次克隆以后都必须配置用户名和邮件!
使用--global参数能够配置全局我的信息
忽略无需版本控制的文档
echo “*.txt” > .gitignore
GIT基本命令
工做区、暂存区和代码区
GIT命令行演练
Xcode演练
.gitignore中的内容
.DS_Store
*.xcworkspace
GIT经典协同模型
中心仓库:包含master和develop两个分支
分支分类
提示:
给分支打标签
git tag -a v1.0 -m 'Version 1.0'
打一个1.0的标签
git push origin v1.0
将标签推送到远程服务器
git tag
查看当前标签
git checkout v1.0
签出v1.0标签
git checkout -b v1.0hotfix
签出并建立v1.0hotfix分支
git branch
查看当前所在分支
安装GIT服务器
GIT代码仓库本质上是经过命令行来操做的
若是在局域网中配置GIT服务器,只要可以经过终端访问到服务器便可
在Windows上要安装GIT服务器,安装以下三个软件便可
注意:CopSSH的用户必定不能是windows的管理员!!!
在Mac上要安装GIT服务器,无需安装任何软件,只须要设置访问用户便可,远程用于经过受权的帐户名和密码登陆,便可使用GIT
提示:GIT服务器能够是互联网中的某台主机,也能够是局域网中的某台计算机的共享目录,还能够是U盘。总之:分布无所不在!
CopSSH
将Git\libexec\git-core下的git.exe , git-receive-pack.exe, git-upload-archive.exe, git-upload-pack.exe拷贝到\ICW\bin下
将\Git\bin\libiconv-2.dll拷贝到ICW\bin下
CopSSH本质上就是容许其余计算机以SSH的方式访问计算机资源
SSH是目前较可靠的,专为远程登陆会话和其余网络服务提供安全性的协议
使用GIT咱们应该
提示
Q & A
若是你如今是开发团队中的一员,仍是单人开发,都强烈建议如今就开始使用版本控制!