linux下svn客户端访问windows下的svn服务器

linux下svn客户端访问windows下的svn服务器,第1张

一,安装svn服务器
在Linux中安装了服务端,
$ yum install subversion
二,在Windows中安装客户端(TortoiseSVN-19427285-x64-svn-194msi)
三,基本的SVN服务器配置
1,新建一个目录用于存储SVN所有文件
$ mkdir /svn
2,新建一个版本仓库$ svnadmin create /svn/project
3,添加用户
要添加SVN用户非常简单,只需在/svn/project/conf/passwd文件添加一个形如“username=password”的 账号为username和密码为password
[users]
mysj = mysj
test = test
5,修改用户访问策略
/svn/project/conf/authz记录用户的访问策略,以下是参考:
[groups]
admin=mysj //将用户进行分组
user=test
[project:/] //进行授权
@admin = rw //r表示读,w表示写
@user = r
=
6,修改svnserveconf文件,让用户和策略配置升效
svnserveconf内容如下:
此处切记要注意空格,不然会导致svn配置不成功
[general]
anon-access = none
auth-access = write
password-db = /svn/project/conf/passwd
authz-db = /svn/project/conf/authz
7,启动服务器
# svnserve -d -r /svn
注意:如果修改了svn配置,需要重启svn服务,步骤如下:
$ ps -aux|grep svnserve
$ kill -9 ID号 杀死服务
$ svnserve -d -r /svn
四,在Windows系统中检出svn的文件,此时的地址也应该为 svn://Linux的ip地址/project/文件夹名(你自己创建的)。

1、Windows下命令行工具:

发现原来安装的tortoisesvn已经集成到shell中,不能在命令行下使用。

下载Apache Subversion command line tools,这是一个可以在cmd下使用的命令行工具,解压后把里面bin目录这个路径添加到环境变量的path,这样在cmd下就可以使用了,和linux下使用svn的习惯一样了。

目录约定:

/trunck:开发主线

/branches:支线副本

/tags:标签副本(一旦创建,不允许修改)

1)使用trunk作为主要的开发目录

一般的,我们的所有的开发都是基于trunk进行开发,当一个版本(release)开发告一段落(开发、测试、文档、制作安装程序、打包等结束后),代码处于冻结状态(人为规定,可以通过hook来进行管理)。此时应该基于当前冻结的代码库,打tag。

当下一个版本/阶段的开发任务开始时,继续在trunk进行开发。此时,如果发现了上一个已发行版本(Released Version)有一些bug,或者一些很急迫的功能要求,而正在开发的版本(Developing Version)无法满足时间要求,这时候就需要在上一个版本上进行修改了。解决方法是基于发行版对应的tag,做相应的分支(branch)进行开发。

2)下图为struts2的SVN仓库目录:

3、常用命令

svn help

svn --version

svn --version --quiet    只显示版本号

svn checkout 地址

svn add 文件或者文件夹    增加本地数据到服务器

svn commit / svn ci -m “注释”  文件名   提交代码,要先add才commit

svn update / svn up 不必跟特定的文件或目录,也可以自己指定需要更新的文件或目录。每次commit或者改动之前最好更新一下。

svn log

svn delete 文件名

svn resolve 路径 --accept working    解决冲突

>

svn switch 远程路径    版本切换

svn list 路径 / svn ls    列出版本库下的文件和目录

svn merge -r m:n 路径     合并文件,从版本号m到版本号n的远程分支都合并到当前分支中

svn info 确认工作目录的svn信息

svn diff -r m:n 路径    对版本m和版本n比较差异

svn cleanup     为失败的失误清场

svn status -v    在本地进行代码修改,检查修改状态

svn import 远程路径 --message “message”   将当前路径下文件导入到版本库中

svn export 远程路径    导出一份干净的项目

svn move/ svn mv 原文件名 新文件名    重命名

svn mkdir 文件名

svn copy / svn cp 源文件路径 新文件路径

svn revert 文件名     只能恢复未提交之前的 *** 作

若要还原已提交的改动:只能用旧文件覆盖新文件。 *** 作如下:

1)sun up    让本地工作拷贝更新到最新状态

2)svn log your_file_path     查看文件日志,这时候提交时填写的说明信息就派上用场了

3)svn diff -r 旧修订版序号:新修订版序号 your_file_path    查看两个修订版之间的不同。

4)决定用哪个旧的修订版号后,用旧的修订版号文件覆盖新的修订版号文件。svn merge -r 新修订版序号:旧修订版序号 your_file_path

5)svn commit -m "恢复到某修订版(某修订版作废)"

本地的版本叫做working copy

4、关于merge

branch主要用于新功能的开发

合并发生在本地working copy,只要你不提交就不会影响到repository

合并前一定要先update、commit,保证不会out of day,并将本地的修改保存到repository

branch和trunk并行开发的过程中,要经常同步,将trunk的修改合并到branch,合并时选择"Merge a range of revision"

branch最后合并回trunk时,merge type选择"Reintegrate a branch"

不管是从trunk合并到branch还是最终从branch合并回trunk,在每次合并前最好先update,然后将本地的修改先全部commit,保护好现场,万一合并不理想随时都可以revert >

>

5、关于解决冲突

发生冲突之后会出现三个临时文件:

XXXmine XXXr1 XXXr2

一旦解决了冲突,需用svn resolved让subversion知道,这样就会删除这三个临时文件,冲突状态解决。

三种解决方式:

手工合并冲突:需要将冲突标志删除

用某一个临时文件覆盖自己的工作文件

用svn revert 放弃本地修改,不需要执行resolved

试试这个吧:
>如果你想省事,就下载了内置了Apache的SVN服务器,推荐collabnet subversion Edge版,免费,安装配置简单,基本一个安装包装好就能用;
如果你一定不想和Apache集成使用,那么就去svn官网下载:
但其中大部分都和Apache绑定了。
客户端的话,最常用就是TortoiseSVN了,到这家的官网下载。另外如果和Eclipse集成使用的话,有subeclipse插件,到SVN官网下载。

重启Windows 10 SVN的方法很简单,只需要在桌面右击,然后在菜单中选择“重启”即可。您也可以在开始菜单中搜索“重启”,然后点击“重启”按钮即可。另外,您也可以使用快捷键Ctrl+Alt+Del,然后在d出的菜单中点击“重启”按钮来重启Windows 10 SVN。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13426162.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-03
下一篇 2023-08-03

发表评论

登录后才能评论

评论列表(0条)

保存