SVN配置使用(windows/Linux通用/VS2017已有项目SVN)

第一次Linux配置SVN,按照下面的博客配置还算顺利
参考博客:
1、Linux服务器上搭建svn服务器,参考这里(https://www.jianshu.com/p/e7037e010635?utm_source=oschina-app)
2、迁移老服务器的svn项目到新服务器上(https://blog.csdn.net/hellboy0621/article/details/80432490)

之所以说还算顺利,是因为配置到最后无法访问,可能需要熟悉才清楚吧。
重新梳理SVN配置的几个重要步骤

1、安装SVN,安装方法

yum -y install subversion

用"svn help"命令查看安装是否成功,如果提示svn命令找不到则代表没有安装成功。

2、Linux服务器上创建库

2.1选择一个空间大点的硬盘空间

使用df -h命令,然后通过查看“Mounted on”这一列,查看挂载位置,把库放在Size最大的文件夹路径下,避免以后由于空间不足造成各种问题,如下图。我最大的是根目录,有70G的空间可用,所以我就在home文件夹下放置我的库就行了。
在这里插入图片描述

2.2创建仓库目录

#1-创建文件夹
mkdir /home/SVN
#2-创建测试仓库
svnadmin create /home/SVN/test/
#3-进入测试仓库进行查看是否创建成功
cd /home/SVN/test

在这里插入图片描述
关于仓库文件的说明:

hooks目录:放置hook脚步文件的目录
locks目录:用来放置subversion的db锁文件和db_logs锁文件的目录,用来追踪存取文件库的客户端
format目录:是一个文本文件,里边只放了一个整数,表示当前文件库配置的版本号
conf目录:是这个仓库配置文件(仓库用户访问账户,权限)

通过上面功能可以了解到只用更改conf文件夹下的配置文件即可

2.3修改配置目录文件

#1-进入conf文件夹
cd conf
#2-查看该文件夹下有哪些东西
ls

在这里插入图片描述

里面有“svnserve.conf”,“passwd”,"authz"三个文件,分别依次对其进行配置

#2-修改svnserve.conf
vim svnserve.conf

最重要的一点,去掉注释之后,配置项前面不能有空格。
在这里插入图片描述

#3-修改passwd文件
vim passwd
#按照给出的格式修改即可

在这里插入图片描述

#4-修改authz文件
vim authz

[/]
zph=rw

在这里插入图片描述

2.4启动svn服务

#1-关闭所有svn服务进程,避免启动出错
killall svnserve
#2-启动svn服务进程
svnserve -d -r /home/SVN
#上一条命令注意路径是放仓库上一级的路径,在客户端下载的时候直接在ip之后跟仓库名即可

3、windows客户端使用SVN

3.1下载项目

在电脑任意目录下,右键“SVN Checkout…”
在弹出的对话框中URL下填IP+仓库名即可成功,如下图。
在这里插入图片描述
到这里整个配置SVN就完了,下面是我第一次错误出现及解决方法。如果配置正确可以忽略。

归纳总结一下我第一次配置失败原因:
在服务器设置了根目录,所以到客户端上直接设置相对路径就行了,否则会出现没有这个仓库
在这里插入图片描述

配置路径不应该带根目录,否则提示找不到路径
在这里插入图片描述

配置如下相对路径成功了:
在这里插入图片描述

4、Linux客户端使用SVN

4.1、下载项目

svn checkout path(path 是服务器上的目录)
例如:svn checkout svn: // 192.168 . 1.1 / pro / domain
简写:svn co

4.2、往SVN中添加新文件

新文件需要添加文件步骤,添加完如果不提交,是没在svn中的,必须需要提交才能进入svn版本控制

svn  add   file 
例如:svn  add  test.php(添加test.php)
svn  add   * .php(添加当前目录下所有的php文件)
svn add * (添加当前文件夹中所有文件)

4.3、将改动的文件提交到版本库

svn commit -m “LogMessage“ [-N] [--no-unlock] PATH(如果选择了保持锁,就使用–no- unlock开关)
例如:svn commit -m “add test file for my test“ test.php
简写:svn ci
也可以直接:svn commit -m "备注信息"         #即可直接提交所有

4.4、加锁/解锁

svn lock -m  “ LockMessage “   [ --force ]  PATH
例如:svn lock -m  “ lock test file “  test.php
svn unlock PATH

4.5、更新到某个版本

svn update -r m path
例如:
svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。
svn update -r  200  test.php(将版本库中的文件test.php还原到版本200)
svn update test.php(更新,于版本库同步。如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文 件,然后清除svn resolved,最后再提交commit)
简写:svn up

4.6、查看文件或者目录状态

1 )svn status path(目录下的文件和子目录的状态,正常状态不显示)
【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】
2 )svn status -v path(显示 文件和子目录状态)
第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。
注:svn status、svn diff和 svn revert这三条命令在没有网络的情况下也可以执行的,原因是svn在本地的.svn中保留了本地版本的原始拷贝。
简写:svn st

4.7、删除文件

svn delete path -m  “ delete test fle “ 
例如:svn delete svn:// 192.168.1.1 /pro/domain/test.php -m  “ delete test file ”
或者直接svn delete test.php 然后再svn ci -m ‘delete test file‘,推荐使用这种
简写:svn (del, remove, rm)

4.8、查看日志

svn log path
例如:svn log test.php 显示这个文件的所有修改记录,及其版本号的变化

4.9、查看文件详细信息

svn info path
例如:svn info test.php

4.10、比较差异

svn diff path(将修改的文件与基础版本比较)
例如:svn diff test.php
svn diff -r m:n path(对版本m和版本n比较差异)
例如:svn diff -r 200:201 test.php
简写:svn di

4.11、将两个版本之间的差异合并到当前文件

svn merge -r m:n path
例如:svn merge -r  200 : 205  test.php(将版本200与205之间的差异合并到当前文件,但是一般都会产生冲突,需要处理一下)

4.12、版本库下的文件和目录列表

svn list path
显示path目录下的所有属于版本库的文件和目录
简写:svn ls

4.13、创建纳入版本控制下的新目录

svn mkdir: 创建纳入版本控制下的新目录。
用法: 1、mkdir PATH…
2、mkdir URL…
创建版本控制的目录。
1、每一个以工作副本 PATH 指定的目录,都会创建在本地端,并且加入新增
调度,以待下一次的提交。
2、每个以URL指定的目录,都会透过立即提交于仓库中创建。
在这两个情况下,所有的中间目录都必须事先存在。

4.14、恢复本地修改

svn revert: 恢复原始未改变的工作副本文件 (恢复大部份的本地修改)。revert:
用法: revert PATH…
注意: 本子命令不会存取网络,并且会解除冲突的状况。但是它不会恢复
被删除的目录

4.15、代码库URL变更

svn switch (sw): 更新工作副本至不同的URL。
用法: 1、switch URL [PATH]
2、switch –relocate FROM TO [PATH...]
1、更新你的工作副本,映射到一个新的URL,其行为跟“svn update”很像,也会将
服务器上文件与本地文件合并。这是将工作副本对应到同一仓库中某个分支或者标记的
方法。
2、改写工作副本的URL元数据,以反映单纯的 URL上的改变。当仓库的根URL变动
(比如方案名或是主机名称变动),但是工作副本仍旧对映到同一仓库的同一目录时使用
这个命令更新工作副本与仓库的对应关系。

4.16、解决冲突

svn resolved: 移除工作副本的目录或文件的“冲突”状态。
用法: resolved PATH…
注意: 本子命令不会依语法来解决冲突或是移除冲突标记;它只是移除冲突的
相关文件,然后让 PATH 可以再次提交。

4.17、输出指定文件或URL的内容

svn cat 目标[@版本]…如果指定了版本,将从指定的版本开始查找。
svn cat -r PREV filename > filename (PREV 是上一版本,也可以写具体版本号,这样输出结果是可以提交的)

5、vs2017使用svn直接上传写好的项目

5.1、安装visualSVN

首先下载visualSVN,怎么下载安装网上很多教程,这里大概描述一下:
1、进入visualSVN官网:https://www.visualsvn.com/visualsvn/download/
2、选择visualSVN for visual Studio 2017,点击下载按钮
在这里插入图片描述
3、运行安装
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4、安装好之后vs2017上会有下面图标
在这里插入图片描述

按照2的方法在服务器建立好一个空SVN项目
然后复制svn的链接

5.2上传流程

5.2.1、打开要上传的项目,点击"Add solution to Subversion…"

在这里插入图片描述

5.2.2、设置目项目目录后点击“Next”

在这里插入图片描述

5.2.3、设置“Existing Repository”,点击“Next”

在这里插入图片描述

5.2.4、拷贝粘贴你新建好的空SVN项目url,点击“Next”

在这里插入图片描述

5.2.5、点击“Import”

在这里插入图片描述

5.2.6、稍等一下导入完成后,点击“Finish”

在这里插入图片描述

5.2.7、窗口消失,解决方案里面代码前面都带有黄点,点击VisualSVN下的Commit…提交后,都变成正常的绿点了,其他操作跟SVN的操作差不多了

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值