【iOS开发】SVN的使用

SVN学习整理

一、SVN在Mac上是系统自带的,所以不用自己来安装。

参考文章:

CornerStone的使用

zhenjing的博客

SVN:取消对代码的修改

学习目标:
1、SVN的实现原理?
集中式,以服务器为中心;基于复制;
2、SVN的基本操作? 提交、查找、合并、更新
cornerstone
3、SVN使用时的注意事项
<1> 最好有自己的分支,在自己的分支上做修改,最后再合并到主分支上。养成良好习惯,最好一个小时备份一次

一、SVN基本操作

1、提交
svn add <filename> 或者用 . 来添加所有新文件
svn commit -m ""   <filename>(省略提交所有文件的更改)
2、更新
svn update <filename> 可更新全部或指定文件
3、检出
svn checkout <address>  指定的文件路径
如果是未指定则在当前目录下且名字一致。
svn checkout <address>  name2
最给的目录名会是name2
4、删除与恢复:delete、revert
svn delete <filename>
5、合并 merge resolve

主要针对的是两个分支。

svn merge https://www....
svn commit -M "merge" 

合并完远程的分支之后,还要commit之后,与本地关联的远程分支才能够同步。

6、diff 的使用
svn diff -r 699:701 3.txt

7、重命名问题

SVN里面在本地把文件删除,然后再commit,线上不会删除此文件,必须使用svn del file来删除这个文件,然后再commit才可以。这是与git操作不一样的一个地方。

重命名操作的最好通过图形界面来完成,通过命令行现在还不知道怎么写。

8、revert

svn revert <filename>

二、场景

1、新开一个工程时svn仓库的创建
最基本的三个文件夹:trunk,branchs,tags。分别是开发的主分支,其他分支存放文件夹,打标签文件夹。

2、新建分支和切换分支

用svn copy <原分支地址> <新分支地址> -m “备注信息” 来新建分支
切换分支 svn co <新分支>

3、A修改了文件1,提交后,B在没有update的情况下修改了文件1,然后提交,为什么没有冲突?

当两个人都修改了同一个地方时,会引起冲突。解决的办法是两人商量好最终的代码,然后修改文件。
4、把开发分支合并到主分支上

<1> checkout 开发分支 develop

<2> 修改开发分支

<3> 提交:add、commit

<4> checkout trunk 分支

<5> cd 到trunk 分支

<6> 执行merge,参数为develop_branch的地址

<7> trunk:commit

<8> tag

    原文作者:xiacheng
    原文地址: https://www.jianshu.com/p/db179f838db7
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞