SVN代码管理

必学命令 help 子命令

cd path : 将当前路径切换到path路径
pwd :查看当前所在路径
ls (-a / -l / -G) : 查看当前文件夹下所有文件及文件夹
touch filename1 filename2 : 创建一个或者多个文件
rm filename : 删除文件
open filename :打开文件
cat filename :查看文件内容
more filename :分页查看文件内容
mkdir 文件夹名称 :创建一个文件夹
mv oldFilePath newFilePath :移动文件(可借助此命令给文件重命名)

补充

. 代表当前文件路径
.. 代表上级目录

以 .开头的文件,代表隐藏文件

显示隐藏文件
defaults write com.apple.finder AppleShowAllFiles Yes && killall Finder
不显示隐藏文件
defaults write com.apple.finder AppleShowAllFiles No && killall Finder

提示

  • 如果要使用当前目录中的文件名,输入到一半时,按TAB键能够补全

个人开发操作

  • 从服务器下载一份完整代码到本地开始开发

  • svn checktout URL [path] —-username=用户名 —-password=密码

  • 修改文件提交

    • svn commit -m “注释”
  • 新建文件提交

    • svn add filename (将文件添加到本地版本控制进行管理
    • svn commit -m “注释”
    • 提交多有 svn add *
  • 删除文件提交
    一定不要直接手动删除文件

    • svn remove filename / svn delete filename 先从本地代码仓库管理中移除,然后删除
    • svn commit -m “注释” (提交,让服务器也删除对应文件)

任何向服务器提交的操作,都要加注释 添加 -m参数

常用命令补充

  • svn status
    查看当前工作空间内, 所有 有变化的文件 的状态
    如果执行此命令什么都没输出, 代表本地没有东西要提交
  • svn log
    查看当前版本的操作日志(什么人, 什么时间, 做了什么操作)

常见状态

' ' 没有修改

'A' 被添加到本地代码仓库

'C' 冲突

'D' 被删除(通过svn命令删除的文件)

'I' 被忽略

'M' 被修改

'R' 被替换

‘G’ 被合并

‘U’ 已经更新

‘E’ 已经存在

'X' 外部定义创建的版本目录

'?' 文件没有被添加到本地版本库内

'!' 文件丢失或者不完整(不是通过svn命令删除的文件)

'' 受控文件被其他文件阻隔

团队开发操作

  • 添加文件同步
  • 修改文件同步
  • 删除文件同步
  • 超时和冲突解决演练
多人开发中最常遇到的问题: 超时和冲突
超时
  • 超时: 当本地文件版本小于服务器文件版本时, 如果要提交本地文件,就会报 out of date 超时错误

  • 原因: SVN通过版本号管理每一个文件,如果一个文件被修改并提交到服务器,那么服务器上的对应文件版本号就会加1, 如果你的版本号小于服务器版本号,就说明,肯定有别人在后来又修改了那个文件

    • 大版本提交或合并到小版本,会把小版本内容覆盖
    • 大小版本不能提交到大版本
  • 超时解决方案: 针对于超时问题,对应的解决方案,就是先从服务器更新下最新版本, 保证本地版本号与服务器版本号一致,这是文件可以提交的前提

  • 冲突: 为了解决超时问题,只能更新.而在更新过程中,如果几个人修改了同一文件的同一行代码,此时就会产生冲突

  • 原因: 版本控制器不会那么智能, 去决定应该使用谁的代码作为最终代码,只能将选择权抛给用户,让用户解决

(df) diff-full, (e) edit, (s) show all options:

(p) postpone, // 延迟处理(待会我自己处理)

(mc) mine-conflict, // 使用我的(本地的)

(tc) theirs-conflict, // 使用服务器
<<<<<<< .mine

本地代码

=======

服务器代码


svn resolved 文件名
svn commit -m "解决冲突"

SVN终端-版本回退

  • 做错了,想反悔到前面某个状态
  1. 修改了,但未提交的情况反悔
方案1: (大力推荐)
svn revert (作用:返回到上次提交后的状态)
方案2: (不推荐)
删除整个项目,重新checkout
  1. 修改了,并且提交了的情况反悔
方案1: 大力推荐
svn update (将本地代码更新到与服务器相同的版本)
svn merge 文件名 -r 版本1:版本2
(作用:把版本1 -> 版本2 的 diff 作用在当前版本)
svn commit -m “本地和服务器都回退到某一指定版本”
方案2:
svn update -r 指定版本号(此时本地代码已经变化,但是服务器没有改变)
修改部分文件
svn update (此时会产生冲突, 选择使用自己的代码即可)
再次提交代码
方案3:(垃圾,最不推荐)
手动保存需要回退的文件内容
删除文件,提交到服务器
重新添加文件,上传到服务器

Cornerstone基本使用

Xcode管理SVN

演示静态库的提交
  • .a静态库文件,必须使用命令行手动添加到版本控制器中,然后提交
怎样忽略文件
  • 过滤不需要上传的文件, 忽略文件(xcuserdata文件夹)

    • 文件打开状态

    • 断点信息

  • 文件夹关闭打开状态

注意:projct setting文件不要忽略

  • 存放一些文件顺序和文件夹结构,文件引用等信息

SVN目录规范

  • trunk :主干,当前开发项目的主目录
    我们之前更新代码,提交代码都是在这个文件夹进行操作

  • brannches:分支目录,添加非主线功能时使用,开发测试之后,可以合并到主干项目中。
    修复Bug,研发不确定的新功能都在这里做

  • tags:标记目录,通常作为重大版本的备份;
    如果有发布版本出现Bug,可以快速的找到对应版本的项目备份,然后开一个分支,进行Bug修复,用于与主干区分

    • 画图说明三个目录使用流程
    • 演示版本备份流程
    • 演示已发布版本bug解决流程
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 156,265评论 4 359
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,274评论 1 288
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,087评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,479评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,782评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,218评论 1 207
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,594评论 2 309
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,316评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 33,955评论 1 237
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,274评论 2 240
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,803评论 1 255
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,177评论 2 250
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,732评论 3 229
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 25,953评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,687评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,263评论 2 267
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,189评论 2 258

推荐阅读更多精彩内容