坚持#第340天~学习了SVN(Windows版本和Linux版本)

SVN小乌龟TortoiseSVN【自学】:

SVN分为windows版本和linux版本的。

参考于:http://www.runoob.com/svn/svn-install.html和https://www.cnblogs.com/test-myblog/p/4433590.html

 

SVN(windows):

1、安装SVN(windows)

本目录有一个安装包:Setup-Subversion-1.8.17.msi

先新建一个文件夹,如F:\svn01\

然后双击安装包,一直点next,安装到你指定的路径,如F:\svn01\

安装好之后F:\svn01\的目录里面多了几个目录:

如同linux系统bin里面的命令一样,你需要打开windows里面的终端,也就是cmd(dos),在F:\svn01\的目录里shift+鼠标右键打开cmd。

先把cmd设置一下可以全屏:右键cmd的窗口,属性,

 

进入到cmd之后,可以使用命令svnserve --version验证安装成功没有。

 

2、创建版本库

先新建一个文件夹,如F:\svnroot\svnsave01

在F:\svnroot\svnsave01的目录里鼠标右键,

 

 

然后退回到svnroot目录,你会发现之前创建的svnsave01目录的图标变成了:

 

或者使用第二种方法(命令行的方法)去创建版本库:

先创建文件夹:F:\svnroot\

去svn01的bin目录里面打开cmd,输入命令:

(小提示:ctrl+shift+n是新建文件夹,ctrl+n是克隆当前窗口)

svnadmincreate F:\svnroot\svnsave02

用命令行创建版本库图标不会变

 

3、启动服务

临时启动,不丢到后台:

svnserve -d-r F:\svnroot\svnsave01 --listen-host 0.0.0.0 --listen-port=3690

再打开一个cmd查看一下服务是否正在运行:

netstat –ano| findstr 3690

 

丢到后台启动并设置开机自启:

sc createsvnserve binPath= "F:\svn01\bin\svnserve.exe --service -rF:\svnroot\svnsave01" displayname= "Subversion" depend= Tcpipstart= auto

(注意等号和值之间要有空格)

执行丢到后台的命令之后,任务管理器里“服务”会出现一个svnserve,可以手动在任务管理器里右键svnserve开启服务,也可以停止服务。或者使用命令启动服务net start svnserve,停止服务命令net stop svnserve

 

若要卸载任务管理器里面的svnserve服务,则执行sc delete svnserve 即可。

 

如果开启服务的情况下然后再临时开服务会怎么样?

会有两个3690端口的svnserve服务,但是进程号不一样

 

如果开启服务的情况下卸载了任务管理器里面的svnserve服务会怎么样?

任务管理器里面的服务暂时不会被卸载掉,而且svnserve服务不会停止,依然还是启动的状态,但是停止掉svnserve服务之后,就会自动卸载了

 

 

 

 

4、配置用户和权限

权限配置文件是F:\svnroot\svnsave01\conf\svnserve.conf

用notepad++打开,去掉下面三行注释和空格(开头不要留空格):

#anon-access = read

#auth-access = write

#password-db = passwd

保存退出

解释:

anon-access= read表示没通过用户名密码登录的访问只有读的权限,如果改为none则没有用户名密码不能访问(机房的205就是设置none)

auth-access= write表示通过用户名密码登录的有写的权限(当然读的权限也就有了)

password-db= passwd表示可以通过用户名 = 密码  的方式在passwd文件中添加用户

 

账号密码配置文件是F:\svnroot\svnsave01\conf\passwd

在[users]标签下面直接添加就可以了,用#可以注释,最好写个日期

# 20180614

litao=litao

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5、初始化SVN,导入数据import

 

 

注意导入成功之后并非真正导入了,你会发现F:\svnroot\svnsave01这个目录变大了10M,因为你导入了刚才的流量平台文件夹到你的版本库里面了,所以才版本库目录svnsave01才会变大,但是不会比“流量平台”这个原文件夹大。原文件夹“流量平台”是17M,你这里版本库目录只变大了10M。

那么刚才import导入的“流量平台”文件夹有什么用呢?下面来揭真晓:

作用一:访问svn能看到导入的东西了

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

作用二:Checkout拉取

首先新建一个文件夹叫test,然后:

 

按下这个“OK”会有什么结果呢?

 

 

 

 

 

 

 

 

 

 

 

 

会发现test这个目录图标有一个绿色的勾勾,并且变大了36M,怎么变成了这么大,进去看看

 

会发现里面有一个.svn的隐藏目录,和linux里面的git一样啊,然后全部是打绿色勾勾的目录,这些目录就是刚才import导入的目录,这就是从版本库里面拉取下来了

 

6、版本回退和版本提交

鼠标右键空白处,

update(不建议使用)是从SVN服务器上瞬间把最新版本下载到本地来,相当于版本回退到最新的版本,不过版本回退一般不用这个,因为他没有给你确认,而是瞬间就更新了,这样怕把当前的操作给丢失了;

 

 

 

 

 

 

 

 

版本回退:

小乌龟TortoiseSVN,Update to revision,版本回退最好的东西,相当于git里面的版本HEAD头标回退,show log显示所有的版本,黑体字是当前的版本

 

提交版本:

“commit”相当于git里面的提交;

 

SVN(windows)总结:

会用了之后感觉用处不大,只是感觉这个技术非常牛,非常神奇

 

 

 

 

 

 

 

SVN(linux)

参考于:http://www.runoob.com/svn/svn-install.html

 

1、安装svn

svn --version

先查看一下有没有装svn

 

直接可以用yum安装svn

yum installsubversion

 

2、创建版本库

先创建目录

mkdir/tmp/svnroot

 

然后在刚才创建的目录里面生成版本库

svnadmincreate /tmp/svnroot/svnsave01

 

3、启动服务

svnserve -d-r /tmp/svnroot/svnsave01 --listen-host 0.0.0.0 --listen-port=3690

 

查看服务是否启动

netstat-tanp|grep 3690

 

同样可以用windows的win+r运行svn://192.168.1.74来访问linux系统上的svn

 

 

 

 

 

 

4、配置用户和权限

vim /tmp/svnroot/svnsave01/conf/svnserve.conf

去掉下面三行注释和空格(开头不要留空格):

# anon-access= read

#auth-access = write

#password-db = passwd

保存退出

解释:

anon-access= read表示没通过用户名密码登录的访问只有读的权限,如果改为none则没有用户名密码不能访问(机房的205就是设置none)

auth-access= write表示通过用户名密码登录的有写的权限(当然读的权限也就有了)

password-db= passwd表示可以通过用户名 = 密码  的方式在passwd文件中添加用户

 

账号密码配置文件是/tmp/svnroot/svnsave01/conf/passwd

vim /tmp/svnroot/svnsave01/conf/passwd

在[users]标签下面直接添加就可以了,用#可以注释,最好写个日期

# 20180614

litao=litao

 

5、初始化SVN,导入数据import

svn import/tmp/litaoDir/pythonTest file:///tmp/svnroot/svnsave01 -m "描述信息"

解释:前面是要导入的东西,后面是版本库的绝对路径,要用file://的格式

扩展:

从版本库导出到当前目录:

svn cofile:///tmp/svnroot/svnsave01 .

 

拉取Checkout

新建一个空的目录test

mkdir/tmp/litaoDir/test

 

进入到test目录

cd/tmp/litaoDir/test

 

拉取下到这个目录里面,从此这个test目录就是svn的一部分了

svncheckout svn://192.168.1.74

 

6、版本回退和版本提交

cd/tmp/litaoDir/test

echo 3 >3.txt

svn status查看状态

发现

说明刚才创建的3.txt没有提交版本,现在提交咯

 

先将3.txt添加到svn版本库列表中

svn add3.txt

svn status

添加到svn成功

 

提交

svn commit-m "add 3.txt"

提交到svn成功

 

 

 

 

 

版本回退:

rm -rf3.txt

svn status

svn del3.txt

svn commit-m "del 3.txt"

成功在svn里面删掉了3.txt

 

查看版本号

svn update首先临时回退到最新的版本

svn log 查看版本号之前一定要先执行上面的命令svn update,不然看不到所有的版本号

 

版本回退的命令

svn merge-r 5:4 .

解释:从版本5回退到版本4,别忘了后面的点代表当前目录

 

svn status

此时回退的操作还没有提交到版本库里面

 

回退的操作提交到版本库

svn commit-m "revover 3.txt"

 

再次查看所有的版本号

svn update

svn log

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值