目录
一 、安装Visual SVN
二、配置SVN
三、安装TortoiseSVN
四、上传项目到远程仓库
五、从远程仓库下载项目
六、检出项目
七、版本回退
参考链接
https://blog.csdn.net/jinmie0193/article/details/81583264
VisualSVN server 服务端和 TortoiseSVN客户端搭配比使用原始的 SVN和Apache相配合来实现源代码的 SVN管理简单。
VisualSVN Server的下载:http://www.visualsvn.com/server/download/
TortoiseSVN 的 下载:http://tortoisesvn.net/downloads.html
在网页下面还有一个Language packs,你可以选择简体中文,下载后直接安装,最后勾选立即使用即可。
一 、安装Visual SVN
首先下载VisualSVN Server
【1 】打开后一路下一步,有协议点同意
【2】 选择 visualVSN服务器和管理控制台 或只有管理控制权限
选个标准版或企业版
【3】选择程序安装的路径、Subversion Repository(库)的路径和所使用的协议和端口以及备份路径
Location是指VisualSVN Server的安装目录,
Repositorys是指定你的版本库目录,
Server Port指定一个端口,
Use secure connection勾上表示使用安全连接。
继续【Next】到【Finish】。
选择HTTP或HTTPS两种协议,
HTTPS的端口号默认可以选择443和8443
HTTP默认可以选择80、8080和81
在1.4版本后,Subversion加入了Service运行的功能。端口号可以任意定义。
个人偏向于使用HTTPS的8443端口,因为HTTPS安全性比较高,虽然443端口是标准HTTPS端口,但如果做WEB开发那肯定就有麻烦,同时Skype也会使用这个端口进行某些通讯。
还有就是下面的用于验证的身份,一个是windows验证,一个是Subversion身份验证,这里默认是Subversion身份验证。
【4】接着就是安装过程
【5】安装完成后会询问你是否需要运行VisualSVN Server Manager
【6 】点finish,打开“ VisualSVN Server Manager “
右侧状态区包括:
Status:服务运行状态
SubversionAuthentication:账户信息
Respositories:代码库信息
二、配置SVN
1.创建远程仓库
修改URL:
如电脑IP是:192.168.100.100
右键 VisualSVN Server选择Properties
选中NetWork输入IP即可
添加一个代码库【Repository】,左侧Respositories上右键菜单中选择创建一个代码库
之后会提示选择仓库类型:
FSFS:根据标准的FSFS数据存储创建一个常规的Subversion存储库。
VDFS:基于VisualSVN分布式文件系统创建分布式Subversion存储库。VDFS存储库充当标准的Subversion存储库,允许在地理分布的站点之间复制数据。
选择FSFS,输入仓库名字
选Empty,只创建空的代码库FirstRep;
选Single,则在代码库FirstRep下面会创建trunk、branches、tags三个子目录。
我们选Single
选择仓库的使用权限,选择所有用户
点击create之后带你finish,创建成功
2.创建用户并添加
在左侧的Users上点击右键:
输入信息,点击OK,我们就创建一个用户了。
按照上面的过程,分别添加用户其他用户就可以了。
下面我们开始添加这些用户到我们刚才创建的项目里。
点击刚才创建的库,右击选择属性(Properties)
点击上图中的"Add..."按钮,在下图中选择我们刚才添加的用户,
选中添加的用户还可以配置权限
注意这里的权限设置,要选择好。
点击"确定"按钮,上面的用户就具有了访问代码库的不同权限。
右键创建的仓库,选copy url ,然后到网页打开连接
之后会让你输入账号密码,然后就可以登陆了。
三、安装TortoiseSVN
上传到SVN服务器首先要下载TortoiseSVN
下载后安装,一路next,然后finish
最后也可以自己安装中文包,一路next,最后勾选立即使用即可。
四、上传项目到远程仓库
假设我们本地有个TestDIR目录,里面两个txt文件
此时远程仓库状态:
右键FirstRep,选择copy url
之后到本地右键FirstRep目录,选择TortoiseSVN,导入
然后输入刚才的URL,同时也可以输入项目描述
等待一会
此时在VisualSVN 空白处右键,选择刷新,此时远程仓库状态:
五、从远程仓库下载项目
假如我们要下载FirstRep仓库代码,到TestDIR
首先右键点击FirstRep文件夹,这时候的右键菜单如下图所示:选择copy URL toCLipboard
然后再进入TestDIR文件夹,在电脑的空白处单击右键,选择小海龟的图标/ 导出
之后弹出对话框,将刚出的地址粘贴到第一个地址栏中,也可以自己指定目录,然后确定
之后会弹出输入用户名和密码的对话框,输入新建账户和密码,
确定,然后会弹出检出界面。
ok下载成功。
六、检出项目
检出项目是把远程仓库下载到本地,可以对项目提交,修改,删除等。
下载代码只是下载到本地,没有任何权限,相当于只读。
客户端去检出代码,在桌面空白处单击右键,选择SVN检出,
在弹出的对话框中填写版本库URL,检出目录(自动生成项目同名文件夹),还可以选择版本
等待一会会提示检出完成
检出完成之后,我们打开工作副本文件夹,会看到所有文件和文件夹都有一个绿色的√.
七、版本回退
首先检出项目到本地
基本方法:
1.右击刚才检出的FirstRep目录,TortoiseSVN – show log(显示日志)
2.右击你想要回滚到的版本,可以看到两个选项:“Revert to this revision”和“Revert changes from this revision”。
下面举例说明
譬如有个文件,有十个版本,假定版本号是1,2,3,4,5,6,7,8,9,10。
Revert to this revision(复原到此版本):
如果是在版本6这里点击“Revert to this revision”,表示7~10的修改全部作废,历史倒退到了版本6那个年代。
Revert changes from this revision(复原到此版本做出的修改):
如果是在版本6这里点击“Revert changes from this revision”,表示版本6这个历史事件被抹杀了,只剩下除版本6外的9个历史事件了。
如果同时选择了6,7,8三个历史时期并点击“Revert changes from this revision”,表示抹杀6~8这仨历史时期。
同理,如果同时选择7~10,然后点击“Revert changes from this revision”,则效果跟在版本6这里点击“Revert to this revision”是一样的。
我们选择复原到此版本,会提示如下
点击还原
然后右键检出的FirstRep目录,点击提交之后便生效了。
其他优质方法
方法1
描述:直接检出一个你需要的版本,然后用你检出的版本覆盖你的最新的版本,
优点:不丢失你新建的文件,同时获得最新的SVN版本控制。
操作步骤:
(1)右键刚刚检出的版本14文件夹→TortoiseSVN→Show log(显示日志)→选中需要回滚的版本→右键→检出。
(2)你需要重新指定一个文件夹,否则会冲突,如选择test1文件夹
(3)此时文件夹视图如下:
(4)然后在新检出的目录修改BUG,比如新加一个3.txt文件
(5)最后,右键新检出的目录,选择commit提交,用修改文件覆盖到你的最新版本,即可。
此时远程仓库如下
方法2
merge命令
(1)右键检出目录,选择TortoiseSVN中的合并(merge)。
(2)选择合并类型
(3)点击next,后面什么都不用改,点击”合并”
文件就回滚到了指定的版本了,commit之后,回滚完成。
方法3
描述:若是你编辑了工程,在没有提交的前提下,你想放弃这些修改,
操作:直接选择TortoiseSVN→revert就可以更新到工程的最新的版本。
方法4
描述:若是你想退回到某一个版本,你就可以直接选择TortoiseSVN→update to reversion。
注释:这样就可以把版本回退到你选中的版本去,这种情况下SVN并没有显示出有什么冲突,并且新建立的文件也还在。
缺点:在这种情况下你并不能直接在你回退后的版本上进行编辑,因为SVN的版本控制还是在最新的主干上。我们需要update并解决冲突。
(1)右键test1,选择TortoiseSVN→update to reversion,选择版本15
(2)原先test1,版本19,内容如下
(3)等待更新完成,test1内容图如下,3.txt已删除
(4)此时我们修改1.txt,如下
(5)但是此时SVN的版本控制还是在最新的主干上。我们需要 update 并 解决冲突。
方法5
你可以直接选择revert changes from this revision,这样的话你可以直接解决冲突并提交。
不过这种方法的不足是,你新建的文件都没有了,整个工程都回退到之前的版本了。
方法6
描述:可以从日志中回滚到你需要的版本,从日志中选中你需要的版本,然后Update item to reversion就好了,这种情况下SVN不会对新建文件产生冲突,并且新建立的文件也还在,
缺点:在这种情况下你并不能直接在你回退后的版本上进行编辑,因为SVN的版本控制还是在最新的主干上。我们需要update并解决冲突
注意:
向SVN服务器提交源代码的时候,一定不要提交bin、obj等文件夹,否则会很麻烦。但是web项目的bin目录除外,但是web项目的bin目录中的引用其他项目而生成的dll不需要提交。
一个好习惯:
如果项目中引用了其他的第三方的程序集,比如EnterpriseLibrary、FCKEditor等,这时候不要简单从他们的安装位置引用,而是在你的解决方案下,添加一个Library的目录,把需要的程序集复制到这里,然后从Library目录引用。
- [源码管理] Windows下搭建SVN服务器
前文所述SVN客户端使用的时候,用的SVN服务器通常为外部,例如Google Code的服务器,不过,做为一个程序开发人员,就算自己一个人写程序,也应该有一个SVN版本控制系统,以便对开发代码进行有效 ...
- Windows 下搭建 SVN服务器及使用
目录 一 .安装Visual SVN 二.配置SVN 三.安装TortoiseSVN 四.上传项目到远程仓库 五.从远程仓库下载项目 六.检出项目 七.版本回退 参考链接 http://blog.cs ...
- windows下搭建svn服务器及权限配置
服务器端VISUALSVN SERVER 3.3.1 下载地址 https://www.visualsvn.com/server/download/ 客户端TortoiseSVN 1.8.13下载地址 ...
- windows下搭建svn服务器
转自:http://www.cnblogs.com/cloud2rain/archive/2013/04/11/3015080.html 这篇文档非常好,转来学习,有一点就是把subversion创建 ...
- 详解虚拟机(windows)下搭建SVN服务器
安装前的准备 1.虚拟机的用户名最好是英文 2.严格按照步骤做,否则有可能不成功 3.如果安装失败,在虚拟机下的控制板完全下载VisualSVN-Server-2.7.7,重新安装 软件下载地址: h ...
- Windows和Linux环境下搭建SVN服务器
--------------------------Windows下搭建SVN服务器----------------------------- 一.安装SVN服务端 软件包Setup-Subversi ...
- Ubuntu 14.04 下搭建SVN服务器 svn://
Ubuntu 14.04 下搭建SVN服务器 svn:// 安装软件包: sudo apt-get install subversion 之后选择SVN服务文件及配置文件的放置位置.我放在了/srv下 ...
- Winxp下搭建SVN服务器
本文介绍一种在winxp下搭建SVN服务器的方法. (1) 需要下载Slik-Subversion和TortoiseSVN两个软件.我使用的版本是Slik-Subversion-1.8.3-1-win ...
- windows下搭建nginx-rtmp服务器
windows下搭建nginx-rtmp服务器 windows下搭建nginx-rtmp服务器 准备工作 安装MinGW 安装Mercurial 安装strawberryperl 安装nasm 下载n ...
随机推荐
- SpringBoot 集成mongodb(2)多数据源配置
github:https://github.com/xiaozhuanfeng/mongoProj 现MongoDB有两个数据库: pom.xml: <!-- mongodb 配置 --> ...
- 函数介绍——MulDiv
http://blog.sina.com.cn/s/blog_579ebc11010008ql.html 函数介绍——MulDiv (2007-03-27 10:05:30) 转载▼ 分类: 编程 ...
- NoSQL基础学习
NoSQL基础学习 最近学习的第一个Nosql就是Mongodb,为了了解Nosql的基本知识,特地总结,主要是学习Nosql的理论 一.Introduction(介绍) 它是“ Not Only S ...
- SpringBoot 使用JPA+MySQL+Thymeleaf 总结 一
SpringBoot 使用JPA+MySQL+Thymeleaf 总结 一 SpringBoot 使用JPA+MySQL+Thymeleaf 总结 二 pom引用 <?xml version=& ...
- Android之异步调用
概述 AsyncTask可以很好的,准确的使用UI线程,他可以将一个比较耗时(几秒钟)的动作运行在后台,并且能将结果返回至UI线程中,不需要通过(Thread操作和Handler操作). 使用时必须通 ...
- API网关spring cloud gateway和负载均衡框架ribbon实战
通常我们如果有一个服务,会部署到多台服务器上,这些微服务如果都暴露给客户,是非常难以管理的,我们系统需要有一个唯一的出口,API网关是一个服务,是系统的唯一出口.API网关封装了系统内部的微服务,为客 ...
- C#Exception 追踪异常位置
1:在编写软件时,保护关键位置的代码正常运行,要对这位置进行异常处理try catch private void StartTCPServer() { try { ........//我们要确保知道这 ...
- MySQL-第十一篇JDBC典型用法
1.JDBC常用方式 1>DriverManager:管理JDBC驱动的服务类.主要用于获取Connection.其主要包含的方法: public static synchronize ...
- [2019杭电多校第一场][hdu6578]Blank(dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6578 计数问题想到dp不过分吧... dp[i][j][k][w]为第1-i位置中4个数最后一次出现的 ...
- Spring之使用注解实例化Bean并注入属性
1.准备工作 (1)导入jar包 除了上篇文章使用到的基本jar包外,还得加入aop的jar包,所有jar包如下 所需jar包 (2)配置xml <?xml version="1.0& ...