云服务器 ECS 建站教程:SVN的搭建和使用

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
简介:


SVN的搭建和使用

简介

Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据。

这些数据放置在一个中央资料档案库(repository) 中。

这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。

这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。

SVN 的一些概念

  1. repository(源代码库):源代码统一存放的地方
  2. Checkout(提取):当你手上没有源代码的时候,你需要从repository checkout一份
  3. Commit(提交):当你已经修改了代码,你就需要Commit到repository
  4. Update (更新):当你已经Checkout了一份源代码, Update一下你就可以和Repository 上的源代码同步,你手上的代码就会有最新的变更

日常开发过程其实就是这样的(假设你已经Checkout并且已经工作了几天):Update(获得最新的代码) —>作出自己的修改并调试成功 —> Commit(大家就可以看到你的修改了) 。

如果两个程序员同时修改了同一个文件呢, SVN可以合并这两个程序员的改动,实际上SVN管理源代码是以行为单位的,就是说两个程序员只要不是修改了同一行程序,SVN都会自动合并两种修改。

如果是同一行,SVN会提示文件Confict, 冲突,需要手动确认。

安装

两种方法安装

第一种

下载阿里云SVN版本控制镜像。

购买完成之后,登录”ECS 管理控制台”,在左边导航栏里,单击”实例”,进入 ECS 实例列表页,选择所购 ECS 实例所在的地域,并找到所购 ECS 实例,在”IP 地址”列获取该实例的公网 IP 地址。

第二种

手动安装

1.环境

centos7

2.安装svn

yum install subversion 

查看版本

svnserve --version


image


3、创建版本库

先建目录

mkdir /var/svn

创建版本库

cd /var/svn
svnadmin create /var/svn/svnrepos
cd svnrepos会看到自动生成的版本库文件:
conf  db  format  hooks  locks  README.txt


image

subversion目录说明

db目录:就是所有版本控制的数据存放文件。

hooks目录:放置hook脚本文件的目录。

locks目录:用来放置subversion见艰苦锁定数据的目录,用来追踪存取文件库的客户端。

format文件:是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号。

conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等)。

进入conf目录(该svn版本库配置文件)cd conf/

authz文件是权限控制文件

passwd是帐号密码文件

svnserve.conf SVN服务配置文件

设置帐号密码 vi passwd

在[users]块中添加用户和密码,格式:帐号=密码,如suzhan=redhat

image

设置权限 vi authz

在末尾添加如下代码:

[/]

suzhan=rw (r:读,w:写)

image


修改svnserve.conf文件 vi svnserve.conf

打开下面的几个注释:

anon-access = read #匿名用户可读

auth-access = write #授权用户可写

password-db = passwd #使用哪个文件作为账号文件

authz-db = authz #使用哪个文件作为权限文件

realm = /var/svn/svnrepos # 认证空间名,版本库所在目录


image


启动svn版本库

 svnserve -d -r /var/svn/svnrepos

停止SVN命令

 killall svnserve

用ps -ef |grep svn 查看服务是否开启。


image


在windows上测试

如果没有TortoiseSVN客户端,可以去这里 下载:tortoisesvn.net/downloads.html, 根据从SVN服务器下载项目自己的实际情况下载对应版本。

在你的本地项目文件夹或随便一个地方,右键空白处弹出菜单,选择 SVN。


image


然后,通过从SVN服务端获取的资源库URL+具体的项目文件夹名下载相应项目,并可以知道下载项目的保存位置。


image
image

第一次登陆需要输入密码,一切以passwd文件里面的账户密码为主!

image


对项目的修改与提交

1:把项目下载到本机后,其实就是一个普通的项目文件而已,你可以在里面添加文件、修改文件、删除文件等等。

2:提交修改 在项目文件空白处右键,选择 SVN提交 。


image


然后,输入 本次提交的版本更新信息(所作修改的注释)、勾选要提交的操作内容,点击 确定,即可把本机项目提交到SVN服务器资源库,覆盖掉资源库项目从而实现更新。

如果发生提交冲突,即两人都提交修改,后提交者由于版本落后会提交失败。这时可以先把自己的项目备份,然后从服务端下载最新的项目,再把自己的项目覆盖到本地项目文件夹,最后SVN提交即可成功提交。

我刚刚删掉了一个文件,这里就会显示:


image


3:获取更新

如果别人修改了SVN服务端资源库上的项目,你想下载最新的项目,则在 本机项目文件空白处单击鼠标右键,选择 SVN更新 ,即可自动完成下载,并会提示所作的更新有哪些。

注意:在原项目文件夹内选择SVN更新的话,会自动覆盖掉原有内容。建议:先备份,再更新,防止自己本来的项目内容丢失。


image


4.svn提供历史还原功能

首先打开一个文件夹,右键检出数据,


image

然后删掉数据。


image


这是如果不点提交的话,可以直接点鼠标右键还原即可。

image
image


如果点击提交了,那么系统库里的数据也会得到同步,系统也会把它存的数据删掉。

image


这是点击svn还原是没有用的。

image


这时需要查看日志,看看是删掉了什么东西。

image


然后把删掉的文件保存版本到删掉的位置,

image


打开原文件夹


image


然后在点击提交,系统库里的数据就和这个文件同步了。

原文链接

相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
13天前
Servlet 教程 之 Servlet 服务器 HTTP 响应 2
Servlet教程讲解了如何通过HttpServletResponse设置HTTP响应,包括编码URL、添加cookie、设置报头、控制缓冲区、发送错误或重定向响应。方法如encodeURL、addCookie、sendError、sendRedirect等,涉及状态码、报头、字符编码和内容长度的管理。
19 2
|
13天前
|
XML Java 数据格式
Servlet 教程 之 Servlet 服务器 HTTP 响应 3
`Servlet`教程示例展示了如何创建一个HTTP响应,使用`@WebServlet("/Refresh")`的`Refresh`类继承`HttpServlet`。在`doGet`方法中,设置了`Refresh`头以每5秒自动刷新,并用`setContentType("text/html;charset=UTF-8")`设定内容类型。还使用`Calendar`和`SimpleDateFormat`获取并格式化当前时间显示。相应的`web.xml`配置指定了Servlet路径。当访问此Servlet时,页面将每5秒更新一次显示的系统时间。
19 4
|
4天前
|
域名解析 弹性计算 Linux
阿里云购买云服务器、注册域名、备案及绑定图文教程参考
本文为大家介绍了2024年购买阿里云服务器和注册域名,绑定以及备案的教程,适合需要在阿里云购买云服务器、注册域名并备案的用户参考,新手用户可通过此文您了解在从购买云服务器到完成备案的流程。
阿里云购买云服务器、注册域名、备案及绑定图文教程参考
|
13天前
|
Unix Linux 数据安全/隐私保护
Linux服务器如何远程连接?服务器远程连接图文教程
服务器操作系统可以实现对计算机硬件与软件的直接控制和管理协调,任何计算机的运行离不开操作系统,服务器也一样,服务器操作系统主要分为四大流派:Windows Server、Netware、Unix和Linux。 今天驰网飞飞就给你们分享下Linux、Unix系统远程连接图文操作方法
21 4
Linux服务器如何远程连接?服务器远程连接图文教程
|
13天前
|
安全 Unix Linux
Windows如何远程连接服务器?服务器远程连接图文教程
服务器操作系统可以实现对计算机硬件与软件的直接控制和管理协调,任何计算机的运行离不开操作系统,服务器也一样,服务器操作系统主要分为四大流派:Windows Server、Netware、Unix和Linux。今天驰网飞飞将和你分享Windows server远程连接图文教程,希望可以帮助到你
26 4
Windows如何远程连接服务器?服务器远程连接图文教程
|
3天前
|
存储 弹性计算 固态存储
阿里云服务器配置怎么选择合适?收藏级教程大家参考下
阿里云服务器配置选择涉及CPU、内存、带宽和磁盘。个人开发者或中小企业推荐使用轻量应用服务器或ECS经济型实例,如2核2G3M配置,适合低流量网站。企业用户应选择企业级独享型ECS,如通用算力型u1、计算型c7或通用型g7,至少2核4G配置,公网带宽建议5M,系统盘可选SSD或ESSD云盘。具体配置需根据实际应用需求来定。
|
14天前
|
存储 缓存
Servlet 教程 之 Servlet 服务器 HTTP 响应 1
Servlet服务器的HTTP响应包括状态行(如HTTP/1.1 200 OK)、响应头部(如Content-Type, Cache-Control)和HTML文档。关键头部有:Allow指示支持的请求方法;Cache-Control定义缓存策略;Content-Type指定MIME类型;Expires和Last-Modified管理缓存;Location用于重定向;Set-Cookie用于设置cookie。
23 8
|
18天前
|
关系型数据库 MySQL Java
阿里云ECS服务器的搭建和部署
准备工作中,要使用阿里云服务,首先需要注册阿里云账号并进行实名认证。接着,选择合适的服务器配置,例如Windows Server 2012 R2 64位或CentOS 7.3 64位,以及相应的JDK和Tomcat版本。对于Windows服务器,还需要安装MySQL数据库,并配置环境变量。在管理云服务器时,要确保能通过公网IP访问,这可能需要配置安全组规则以允许特定端口的入站流量。最后,安装并配置好所有组件后,可以通过公网IP访问服务器上的服务。
|
20天前
|
缓存 运维 Linux
保姆级python项目离线部署服务器教程只需这一篇就够了(建议收藏)
这篇文章提供了详尽的Python项目在离线Linux(CentOS)服务器上的部署教程。作者首先介绍了环境背景,强调了无网络环境和使用有网络的CentOS虚拟机准备安装包的重要性。教程分为两部分:外网环境搭建和内网离线安装。在外网环境中,包括下载Python 3.9.0安装包、传输至服务器、安装依赖包,并使用pip3下载项目所需依赖。内网安装则涉及依赖包的复制和Python环境的同样步骤。最后,作者分享了运行项目的命令,并总结了离线安装的整个流程,提醒读者注意可能出现的问题。
保姆级python项目离线部署服务器教程只需这一篇就够了(建议收藏)
|
21天前
|
弹性计算 应用服务中间件 Linux
阿里云ECS服务器上从零开始搭建nginx服务器
阿里云ECS服务器上从零开始搭建nginx服务器