简单学习svn的使用

适合对git熟悉但是没用过svn的朋友查看

1、安装客户端

mac使用homebrew

brew install subversion

其他系统、安装方式自行搜索即可!

2、基本命令

2.1 检查远程仓库中的文件

# svn checkout 地址 本地目录
svn checkout svn://ip/XXX/docs mytest

作用:等于是git clone

前提:需要在服务端分配用户名、密码和权限

注意:(1)svn checkout是在第一次与SVN服务器建立连接的时候使用;(2)在检出前,最好先新建一个空的文件夹;(3)在下载之前首先查看有什么文件svn list 地址

2.2 更新本地内容

svn update [PATH...]

作用:将远程仓库的修改同步到本地

2.3 推送本地到远程

# 1 添加到svn管理
svn add mytest/hi
# 2 保存版本
svn commit mytest/ -m "hi"

作用:将本地的修改同步到远程仓库

注意:It is a good practice to update your working copy before committing local modifications to the repository.

2.4 删除文件

svn delete 文件地址

作用:将某个文件排除svn

注意:先使用命令删除,然后在在文件目录中物理删除

3、分支管理

主要包括分支分类、创建、合并等

3.1 svn分支管理模型

svn分支管理和git不同,svn中分为主干和分支,主干就一个,分支可以有多个,使用不同的文件夹中以作区分。每一个类型的分支都对应服务器上单独的一个文件夹:

  • trunk文件夹: 主干,我们一般把项目提交到此文件夹里面,在trunk中开发。

  • branches文件夹:分支,我们一般把那些需要打分支,但是有可能会修改的项目代码,打分支到此目录,其中可包含多个项目的副本(多个分支项目)。

  • tags文件夹:分支,我们一般把那些阶段性(如迭代各期)的项目代码,打分支到此目录。

注意:(1)git中只有一个文件夹,没有副本,不同的分支只存在版本的不同;而在svn中,不同的分支就是不同的项目副本,这是我认为svn与git最大的不同。(2)在使用上,分支的概念和git中一样,就是新建、合并、删除的操作。

3.2 创建分支

svn cp -m "create branch"  http://server/test/trunk  http://server/test/branches/future

作用:根据trunk创建一个分支future

3.3 获得分支

svn co http://server/test/branches/future

3.4 合并主干上最新代码到分支

svn merge http://server/test/trunk 

作用:将主干上的代码,合并到当前所在分支

注意:在分支下执行

3.5 分支合并到主干

svn merge --reintegrate http://server/test/branches/future

作用:在分支上开发完成后,合并到主干

注意: SVN中执行该操作需要在trunk的工作目录下进行

3.6 删除分支

svn rm  http://server/test/branches/future  -m 'delete future'

作用:代码在分支开发完成并合并到主干后,删除分支

3.7 合并版本并将合并后的结果应用到现有的分支上

svn -r 148:149 merge http://server/test/trunk

注意:在另外分支future1版本控制下

4、实践

未完待续……

如有不足,欢迎指正!


参考:

[1] svn 命令行创建分支、合并主干_svn 命令行创建分支、合并主干 命令行_ 蜂蜜柚子茶的博客-CSDN博客

[2] mac安装svn的两种方式(使用brew安装svn 和 可视化工具SnailsvnLite)mac svn工具@素素~的博客-CSDN博客

[3] svn 命令行创建分支、合并主干_svn 命令行创建分支、合并主干 命令行_ 蜂蜜柚子茶的博客-CSDN博客

你可能感兴趣的:(web,学习,svn,git)