SVN的使用

1. 什么是SVN

SVN全称SubVersion

特点:

  • 操作简单,入门容易
  • 支持跨平台
  • 支持版本回退

属于C/S结构软件

2. 基本操作

服务端

1. 安装服务端

安装visualsvn server
在这里插入图片描述

基本一路下一步, 可以手动改一改仓库(repository)路径

2. 创建仓库

https://www.cnblogs.com/fps2tao/p/8672394.html

SVN新建仓库步骤
https://blog.csdn.net/weixin_41187842/article/details/83062400

详细步骤带有图片

https://www.pianshen.com/article/5663356644/

svnadmin create [代码仓库目录路径]

3. 服务器监管

svnserve -d -r [代码仓库路径]
# -d 表示后台运行
# -r 表示监管的是一个目录

这样就可以通过svn://localhost访问到相关仓库

4. 权限控制

默认情况下,匿名用户无法读取仓库,因此要配置权限

# 打开仓库\conf\svnserve.conf文件 去掉anon-access=read的注释
anon-access = read
# 也可以改成write(可读可写)

这时要重启svn服务器,重新启动服务器监管

客户端

1. 客户端安装

tortoisesvn

2. 连接&checkout

进入你的本地工程目录,右键选择

svn-client.png

输入svn地址svn://[ip],可以选择要checkout的repository,确定,然后再右键选择svn checkout 确认,即可,此时该目录下出现一个隐藏目录.svn

3. 详细使用

1. 三大指令

checkout

检出操作,连接到svn服务端,更新服务端数据到本地

注意:

checkout只在第一次连接时操作一次,以后请使用update

commit

在本地工程目录有修改操作后,可以右键选择svn commit弹出TortoiseSNV提交窗口.

update

更新仓库到本地

2. 图标集

1.常规图标:

image

含义:当客户端文件与服务器文件完全同步的时候,系统就会显示以上图标

2.冲突图标:

含义:当客户端文件与服务器数据存在冲突时,系统会出现以上图标

3.删除图标:

含义:当服务器端的文件已经删除时候,那么客户端文件就会显示以上图标

4.增加图标:

含义:我们编写的文件已经提交到队列中,系统会显示以上图标

5.无版本图标:

含义:我们编写的文件没有提交到队列中,系统会显示以上图标

6.修改图标:

含义:客户端文件已经修改但是未提交,系统会出现以上图标

7.只读图标:

含义:当客户端文件以只读的形式存在时,系统会出现以上图标

8.锁定图标:

含义:当服务器数据已经锁定的时候,客户端文件会自动显示锁定图标

9.忽略图标:

含义:客户端文件已经忽略,不需要进行提交上传,系统会显示忽略图标。

忽略功能的实现:点击需要忽略的文件右击 TortoiseSVN

刷新一下即可。

3. 版本回退

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vvChE18U-1624532567408)(https://wx1.sbimg.cn/2020/06/06/4e88d31d396578d4810e56327a7ff299.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qvD3cEih-1624532567410)(https://wx2.sbimg.cn/2020/06/06/9d86402404e93e63af185a530058cbef.png)]

6c87cd4c0ba44cc560bcf86614727d96.png

4. 版本冲突

当多个人同时修改一个文件,commit时会出现冲突

解决办法:

  1. 先更新(update)服务器数据到本地

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dnoyh7I6-1624532567414)(https://wx1.sbimg.cn/2020/06/06/fa11646fa4a1dd41e2f8468e7fa251df.png)]

  1. 一般情况下,查看并修改整合后的文件确认后,把其他文件删除
  2. 提交

5. 配置多仓库和权限控制

如何监管多个仓库?

直接监管所有仓库的父目录(所以仓库都在同一个文件夹下面)

然后就可以通过不同的url来访问不同的仓库

svn://localhost/shop
svn://localhost/web

权限控制

  1. 编辑conf/svnserve.conf

    password-db = passwd
    authz-db = authz
    
  2. 编辑认证用户名和密码conf/passwd

    [users]
    # harry = harryssecret
    # sally = sallyssecret
    admin = password
    sam = sys963
    
  3. 编写授权文件conf/authz

    # 分组
    [groups]
    # harry_and_sally = harry,sally
    # harry_sally_and_joe = harry,sally,&joe
    admin = admin,sam  # 组名 = 用户,...
    
    # 仓库权限
    [Shop:/]  # 仓库路径
    @admin = rw  # 用户组权限
    * = r # 匿名用户权限
    

4. 使用svnserver结合IDE

管理用户

92b226f11bee216817dea2c2d84b7a8a.png

可以自行添加删除用户

新建仓库:

aac41f9d1d5c3e187b4acb48ae926cdb.png

基本上一路下一步,除了权限配置需要自定义

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OrmWuuTp-1624532567417)(https://www.z4a.net/images/2020/06/06/5beb82cf37c8efd8fcd2a656d10f8147.png)]

配置完成后,会自动生成https的url,访问即可查看当前仓库

结合IDE使用(以webstorm为例)

19435388879ae5f14d750fc018dfd998.png

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EkzTRvLW-1624532567419)(https://www.z4a.net/images/2020/06/06/aeda0d21082b22bbb31a1a80d3c9f00f.png)]

然后一路OK就行了,在Webstorm环境下自动checkout后会打开工作窗口,在右上角分别存在快捷命令

8fd2b1a2501843b4b78156a137a8b921.png

依次为update,commit,还有查看提交历史,点击提交历史的功能,即可显示所有commit的记录,在对应记录上右键Get即可切换版本(版本回退)

我的公众号

欢迎博友们关注一波!!!
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在Linux上使用SVN,你可以按照以下步骤进行操作: 1. 安装SVN服务端:根据的引用内容,你可以按照TortoiseSVN服务端的安装教程来安装SVN服务端。 2. 将文件checkout到本地目录:使用以下命令将文件从版本库中checkout到本地目录: ``` svn checkout svn_path local_path ``` 例如,你可以使用以下命令来checkout一个版本库中的文件: ``` svn checkout svn://192.168.1.131/45dian/brand ``` 如果你想要将文件checkout到当前目录下的一个子目录中,你可以使用以下命令: ``` svn checkout svn://192.168.1.131/45dian/brand ./brand/ ``` 这里的"./brand/"是你想要将文件checkout到的本地目录。 此外,你还可以使用`svn co`作为`svn checkout`的简写。 3. 往版本库添加新的文件:使用以下命令将新的文件添加到版本库中: ``` svn add file ``` 例如,要添加一个名为"test.php"的文件,你可以使用以下命令: ``` svn add test.php ``` 如果你想要添加当前目录下的所有php文件,可以使用以下命令: ``` svn add *.php ``` 如果你想要添加一个名为"user"的目录及其下的所有内容(递归添加),可以使用以下命令: ``` svn add user ``` 4. 将改动的文件提交到版本库:使用以下命令将改动的文件提交到版本库中: ``` svn commit -m '注释内容' [-N [--no-unlock PATH ``` 例如,你可以使用以下命令来提交一个名为"test.php"的文件: ``` svn commit -m '添加新文件' test.php ``` 如果你想要提交一个名为"user"的目录及其下的所有内容(递归提交),可以使用以下命令: ``` svn commit -m '添加新目录(递归)' user ``` 此外,你还可以使用`svn ci`作为`svn commit`的简写。 5. 加锁/解锁:使用以下命令对文件进行加锁或解锁操作: - 加锁: ``` svn lock -m '加锁注释内容' [--force PATH ``` 例如,你可以使用以下命令来对一个名为"test.php"的文件进行加锁: ``` svn lock -m "锁定文件" test.php ``` - 解锁: ``` svn unlock PATH ``` 例如,如果你想要解锁一个文件,可以使用以下命令: ``` svn unlock test.php ``` 6. 更新版本:根据的引用内容,你可以使用以下命令更新版本: ``` svn update ``` 总结起来,在Linux上使用SVN的基本操作包括安装SVN服务端、将文件checkout到本地目录、添加新文件到版本库、提交改动的文件到版本库、加锁/解锁文件以及更新版本。以上是一些基本的使用方法,如果你需要更详细的SVN使用说明,你可以参考和的引用内容。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@逆风boy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值