#本章节我们就来说说SVN怎么使用: - 下载TortoiseSVN:(注意有64位操作系统,还有32位操作系统这里主要看你电脑是多少位的查看方法有两种: - 方法一:右击“计算机”,选择属性,在“系统”栏中“系统类型”显示系统是32位或者64位方法二:点击“开始” - >“运行”输入CMD后回车,进入的是DOS的窗口,在窗口输入系统的系统信息之后回车,显示出一系列系统信息,里面有个”系统类型“,是X86的话就是32位的系统,是X64的话就是64位) - 下载TortoiseSVN地址: https://tortoisesvn.net/downloads.html 进去之后上面有个导航条,然后找到下载点击,下面有两个按钮一个是TortoiseSVN 1.10.1- 32 -Bit (注意版本号不一样也没关系,但是操作系统的位数必须相同)另一个是TortoiseSVN 1.10.1- 64-Bit(注意版本号不一样也没关系,但是操作系统的位数必须相同) - 安方式 :https://jingyan.baidu.com/article/0eb457e537f9a403f1a905bf.html - **
提示**:如果你英语够好的话汉化包安不安没有多大作用,如何英语不行的建议你安装汉化包(注意安装汉化包首先SVN的版本号必须和汉化包版本号一样方可安装成功,如何你嫌麻烦直接找我我发你一套QQ:376414577加好友时请备注CSDN +您的姓氏)
- 下载svn服务器:https://www.visualsvn.com/server/download/下面有一个32位还有一个64位看你电脑要求下载
- 安装方式:https
://jingyan.baidu.com/article/fec4bce26ebe2cf2618d8ba1.html - ————- ——————————— ————- 下面就开始如何使用svn ————————— —————– ——————— ———— ——- 一。SVN和Git区别SVN:集中式的版本控制工具Git:分布式的版本控制工具二。SVN介绍SVN的最基本命令使用及使用场景要记得账号密码及SVN地址
checkout : 下载代码, 只需要做一次
commit : 提交代码到服务器, 至少下班前提交一次可运行版本
update : 更新服务器的最新代码, 至少上班前更新一次
三. SVN服务器搭建及配置(了解)
端口号
http: 80 一般使用http即可。 一般只能在公司内部访问
https: 443
服务器配置: 需要一个仓库, 然后创建一个用户, 最后给仓库配置权限
如何虚拟机搭建的服务器在mac中也能访问, (1. 网络模式是桥接模式, 2. 确保TCP/IP自动获取ip)
如果想要获取IP : 点击开始 –> 运行 –> 输入cmd –> ipconfig –> 确保前三位号段跟mac是一致的。
四. 常见UNIX命令行的使用(掌握)
pwd :查看当前目录
cat :在命令行中查看文件内容
显示和隐藏系统隐藏文件
显示隐藏文件:defaults write com.apple.finder AppleShowAllFiles YES
隐藏隐藏文件:defaults write com.apple.finder AppleShowAllFiles NO
运行完毕后需要重启取景器,生效才能五.SVN基本操作(掌握,难点)一。模拟单人开发 - cd到QQ目录下(QQ目录才是SVN管理的目录),如果没有进入到正确的目录,将来可能就会报错 - >千万别忘创建文件:(使用一个文件模拟一个项目)触摸Person.h查看状态:svn status /比较的是本地版本库和服务器的版本库的区别,如果文件一致,比较不出来东西添加文件到本地版本库:svn add Person.h提交文件到远程服务器:svn commit -m“增加了Person.h”/注意:-m一定要写,否则将来无法区分每个版本干了什么事。“”双引号的内容也要写,而且要写的有意义,因为将来就是根据注释来区分版本。修改文件:打开Person.h,随便改内容查看状态:svn status同步代码: svn update就可以将服务器最新的代码同步过来帮助命令:svn help查看所有的命令查看日志:svn log查看之前提交的日 志信息删除文件:svn delete Car.h(如果是直接右键垃圾桶,更新就回来了)
告诉本地版本库,已经解决了冲突文件:svn已解决Car.h版本回退(丢弃尚未提交的代码):svn revert Car.h模拟多人开发 - >其他人的操作参考上面的单人开发步骤,结账一次后,不断提交/更新即可二文件状态解释。:?:文件在SVN的目录下,但是没有被本地的版本库管理—>需要添加一个:文件在SVN的目录下,已经被本地的版本库管理—>需要提交M:文件在SVN的目录下,已经被本地的版本库管理,文件已经被修改 - >需要提交D:本地的版本库已经删除了文件,但是没有提交给服务器—>需要提交U:文件被更新了(之前本地已经有了这个文件)C:文件发生了冲突三。简写操作svn co:co - > checkout svn st:st - > status svn ci :ci - > commit 可以不用写“”,但是要保证注释的文字的文字没有空格svn up:up - >更新四。常见错误不是工作副本:这不是工作区的拷贝空间,错目录了,可以使用pwd查看当前目录是否正确已过时:文件过期了,代表着文件发生了冲突。需要更新一下xcrun:错误:活动开发者路径(“/ Applications / Xcode 2.app/Contents/Developer” )不存在,使用xcode-select –switch path / to / Xcode.app指定您希望用于命令行开发人员工具的Xcode(或参见man xcode-select)*如果出现类似的错误,或者下载xcode,那么选中xcode - >偏好设置 - > locations - > 命令行工具做个选择即可五。注意事项
svn是mac自带的工具, 自带的版本是1.7
多提交多更新, 规范使用的话,应该先更新, 再提交. 可以减少冲突
已经是服务器的最新版本, 然后自己修改了某些文件, 再次更新, 不会覆盖掉自己刚写的代码
六. 解决代码冲突(掌握, 重点, 难点)
冲突的定义: 不同的人, 修改了同一个文件, 同一行的代码, 那么此文件就发生了冲突
冲突可能发生地方: Appdelegate, MainViewController, SB/Xib, 公用的类
冲突发生时如何处理
Conflict discovered in ‘/Users/JackMeng/Desktop/SVN演练/coder01/QQ/person.h’.
(p) postpone : 推迟处理, 将来由程序员自己来处理冲突
(mc) mine-conflict : 使用我的代码, 覆盖掉其他人的代码 –> 文件已经被修改了, 需要提交
(tc) theirs-conflict : 使用其他人的(服务器最新的), 丢弃掉自己的代码
(df) diff-full : 展示不同
(e) edit : 在命令行中编辑文件
(s) show all options: 显示所有选项
<<<<<<< .mine 到 ======= 之间: 代表自己写的代码
======= 到 >>>>>>> .r6 之间: 服务器的代码(其他人的代码)