SVN,即Subversion,是一个自由开源的版本控制系统,可以将数据恢复到早期版本,或者检查数据修改的历史,这些数据可以是源代码,也可以是其他类型的文件。
在SVN出现之前,CVS是开源世界版本控制工具的事实标准,然而CVS存在一些固有的缺陷,并且修复这些缺陷需要耗费很大的精力,因此,SVN的发起者Brian Behlendorf和CollabNet决定重新编写一个版本控制系统,保留CVS的基本思想,但要修正其中错误和不合理的特性。于是,SVN作为CVS的继任者出现了。SVN的设计者们力图通过两方面的努力赢得CVS用户的青睐:保持开源系统的设计以及界面风格与CVS尽可能类似,同时尽力弥补CVS许多显著的缺陷。这些努力的结果使得从CVS迁移到SVN不需要作出重大的变革,因此越来越多的人选择了SVN。
http://svnbook.red-bean.com
http://www.subversion.org.cn
目录
一、客户端的使用
1.1 Linux系统下一般使用(Ubuntu)
1.2 Windows系统下一般使用
1.3 Linux下使用SVN+ssh认证(未找到相关资料@_@)
1.4 Windows下使用SVN+ssh认证
二、服务器端的配置
2.1 Linux下的svnserve配置
2.2 Windows下的svnserve配置
2.3 Linux下的svnserve+ssh配置
2.4 Windows下的svnserve+ssh配置(需使用Cygwin,略)
2.5 Linux下基于APache的SVN服务器配置
2.6 Windows下基于APache的SVN服务器配置
三、建立版本库
3.1 Linux下创建版本库
3.2 Windows下创建版本库
大多数人都是从客户端开始使用SVN,以下先介绍客户端的使用。假设已经假设好了SVN服务器,其文件夹地址为http://domain/svn/trunk/myproject,用户名为test,密码为test。(如果服务器端配置的是SVN,则使用svn://开头的URL访问;如果服务器端配置的是SVN+SSH,则使用svn+ssh开头的URL访问)
一、客户端的使用
1.1 Linux(Ubuntu)系统下一般使用
1)首先需要安装svn客户端,ubuntu下使用$sudo apt-get install subversion(其他请baigoogledu,余同)
2)checkeout命令:第一次使用时使用checkout命令,把服务器的目录拷贝到本地的当前目录下,同时会建立一个隐藏文件夹记录版本信息:
[工作目录]$svn checkout "http://domain/svn/trunk/myproject" --username test
然后输入密码
3)svn update命令:获取服务器上的最新版本
[工作目录]$svn update(除了第一次要加url和用户名和密码,之后系统会记住)
4)svn add命令:要把非版本控制的本地文件添加到版本控制:
[工作目录]$svn add hello.c
5)svn commit命令:把本地文件上传到服务器
[工作目录]$svn commit(如果有新的文件,要首先svn add)
1.2 Windows系统下一般使用
1)安装客户端:http://tortoisesvn.net/downloads
2)新建一个文件夹(工作目录),右击选择checkout,填写URL和用户名密码
3)工作目录右键update
4)工作目录右键add
5)工作目录右键commit
1.3 Linux下使用SVN+ssh认证(未找到相关资料@_@)
1.4 Windows下使用SVN+ssh认证
(参考ubuntu下架设svn服务器及在windows建立svn+ssh客户)
1.4.0 安装TortoiseSVN、Puttygen、Pageant
http://sourceforge.net/projects/tortoisesvn
http://www.chiark.greenend.org.uk/~sgtatham/putty/
1.4.1 转换私钥格式
1)将Linux下的文件
2)选择菜单conversions->Import Key;选择文件
3)选择Parameters为“SSH-2 DSA”或“SSH-2 RSA”->Save private key->保存文件名为username>key.ppk。
1.4.2 建立TortoiseSVN与Pageant的关联,并将私钥加入Pageant:
1)鼠标右键选择TortoiseSVN->Settings->Network->SSH client,输入:
C:Program FilesTortoiseSVNinTortoisePlink.exe
2)鼠标右键选择TortoiseSVN->RepoBrowser 输入URL:
svn+ssh://
3)运行Pageant,右键点击屏幕右下角的图标-〉Add Key,将私钥文件
——如果不想缓存ssh密码,则第8、9步不需要,只保留第二步,但每次check out、check in中每进入一个文件夹都要输入两次密码,烦死你:)
二、服务器端的配置
Web服务器部署可以有三种选择,配置由简单到复杂排列为
·svnserve
·svnserve over SSH
·Apache+mod_dav_svn模块
下面从最简单的入手,介绍svnserve。
[更新]Windows下服务器端的配置可以使用VisualSVN Server进行傻瓜化安装。
官方网站:http://www.visualsvn.com/
参考链接:VisualSVN系列介绍(有详细的安装过程介绍,这里就不转述了)
2.1&2.2 配置svnserve
svnserve是一个轻型的服务器,可以同客户端通过在TCP/IP基础上的自定义有状态协议通讯,客户端通过使用开头为svn://或者svn+ssh://svnserve的URL来访问一个svnserve服务器。
2.1 Linux下的svnserve配置
2.1.0 同样地,使用命令$sudo apt-get install subversion
2.1.1 svnserve作为独立守护进程,监听请求
$svnserve -d
$ #svnserve is now running, listening on port 3690
——可以使用--listen-port=[端口号]来指定端口,或者--listen-host=[主机名]来指定主机名
假定已经建立一个版本库位于/usr/local/repositories/project路径(版本库的建立稍后提及), 此时客户端可以使用svn://[主机]/usr/local/repositories/project来进行访问
——可以使用-r选项来限制只输出指定路径下的版本库,从而使客户端访问更为简洁:
$svnserve -d -r /usr/local/repositories
则客户端只要使用svn://[主机]/project就可以访问
2.1.2 通过inetd使用svnserve
$svnserve -i
——此时svnserve会尝试使用自定义协议通过stdin和stdout来与subversion客户端通话,默认端口为3690。可以在/etc/services添加如下几行:
svn 3690/tcp #subversion
svn 3690/udp #subversion
——如果是使用经典的类Unix的inetd守护进程,可以在/etc/inetd.conf添加如下行,则如果有客户连接来到端口3690,inetd会产生一个svnserve进程来做服务
svn stream tcp nowait svnowner /usr/bin/svnserve svnserve -i
2.1.3 设置svnserve的内置认证

在PHP开发中进行版本控制是很常见的操作,其中最常用的工具就是SVN(Subversion)。它可以方便地管理代码的历史版本以及协同开发过程中的代码更新。下面将介绍如何在PHP开发中使用SVN进行版本控制。一、安装SVN客户端和服务端首先需要安装SVN客户端和服务端。SVN客户端可以在SVN官网上下载对应的版本,安装即可,而服务端则需要自行搭建,具体方法可以

Vue.js是一款流行的JavaScript前端框架,目前已经推出了最新的版本——Vue3,新版Vue在性能、体积以及开发体验上均有所提升,受到越来越多的开发者欢迎。本文将介绍如何使用Vue3制作一个简单的图片裁剪器。首先,我们需要创建一个Vue项目并安装所需的插件。可以使用VueCLI来创建项目,也可以手动搭建。这里我们以使用VueCLI的方式为例:#

SVN简介SVN(Subversion)是一种集中式版本控制系统,用于管理和维护代码库。它允许多个开发者同时协作开发代码,并提供对代码历史修改的完整记录。通过使用SVN,开发者可以:保障代码稳定性,避免代码丢失和损坏。追踪代码修改历史,轻松回滚到之前的版本。协同开发,多个开发者同时修改代码而不会冲突。SVN基本操作要使用SVN,需要安装SVN客户端,例如TortoiseSVN或SublimeMerge。然后,您可以按照以下步骤执行基本操作:1.创建代码库svnmkdirHttp://exampl

EclipseSVN插件的安装和设置方法详解Eclipse是一个广泛使用的集成开发环境(IDE),它支持许多不同的插件来扩展其功能。其中之一是EclipseSVN插件,它使开发人员能够与Subversion版本控制系统进行交互。本文将详细介绍如何安装和设置EclipseSVN插件,并提供具体的代码示例。第一步:安装EclipseSVN插件打开Eclipse

Go-zero是一款优秀的Go语言框架,它提供了一整套解决方案,包括RPC、缓存、定时任务等功能。事实上,使用go-zero建立一个高性能的服务非常简单,甚至可以在数小时内从入门到精通。本文旨在介绍使用go-zero框架构建高性能服务的过程,并帮助读者快速掌握该框架的核心概念。一、安装和配置在开始使用go-zero之前,我们需要安装它并配置一些必要的环境。1

在linux下,直接使用svndiff命令查看代码的修改是很吃力的,于是在网上搜索到了一个比较好的解决方案,就是让vimdiff作为svndiff的查看代码工具,尤其对于习惯用vim的人来说真的是很方便。当使用svndiff命令比较某个文件的修改前后时,例如执行以下命令:$svndiff-r4420ngx_http_limit_req_module.c那么实际会向默认的diff程序发送如下命令:-u-Lngx_http_limit_req_module.c(revision4420)-Lngx_

在CentOS上安装SVN是非常常见的操作,它是一个功能强大的版本控制系统,可以用于管理和追踪软件开发过程中的变更,本文将详细介绍如何在CentOS上安装SVN,并提供一些常用的命令行安装方法。在CentOS上安装SVN有多种方法,下面将介绍两种常用的安装方式。1.打开终端,以root用户身份登录。2.运行以下命令更新系统软件包列表:```yumupdate3.运行以下命令安装SVN:yuminstallsubversion4.安装完成后,可以通过运行以下命令验证SVN是否成功安装:svn--v

区别:1、vss是微软开发的,是收费的,而svn是开源免费的;2、vss必须有客户端,而svn可以用客户端,也可以用命令行模式,还可以用网页方式只读访问;3、vss只支持windows系统,而svn支持windows和linux系统;4、vss是“锁定-编辑-解锁”模式,svn默认是“修改-冲突-合并”模式;5、vss的版本号对应的是单个文件,svn的版本号对应的是整个版本库。


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경
