代码管理平台SVN_svn 代码托管平台-程序员宅基地

技术标签: 代码管理平台  linux  # Linux高级  svn  

22.1 代码管理平台


代码管理平台,也可以称为代码管理工具,顾名思义,就是管理代码的平台,代码可以是公司开发的网站,或者是开发的项目,我们需要把这些代码放到一个平台上面进行管理。

说到这可能有人会想,不就是代码吗?我把它放在服务器上的某个目录不就行了吗?开发完新的项目再把代码传上去替换掉旧的代码不就可以了吗?

当然,对于网站来说,这样做是没什么问题的。但是,如果代码每天有很多的地方在更新,当有一天,你想看到最近一段时间代码变化的地方,你怎么看?很不方便,而且你和同事都在开发的时候想看到对方开发的内容。而代码管理平台就能很容易实现目的。

代码管理工具的作用:

1. 能追踪一个项目从诞生一直到定案的过程
2. 记录一个项目的所有内容变化,无限制返回
3. 查看特定版本的修订情况

常用的代码管理工具:

CVS
    开启版本控制之门
    1990年诞生,“远古时代”的主流源代码管理工具
SVN
    全称是Subversion,C/S架构,集中式版本控制之王者
    是CVS的接班人,速度比CVS快,功能比CVS多且强大
    在国内软件企业中使用最为普遍(70%-90%)
GIT
    一款伟大的分布式源代码管理工具
    目前被越来越多的开源项目使用
    SVN正在被GIT慢慢取代

GIT与SVN的不同在于GIT是分布式的,GIT不需要依赖服务端就可以工作,而SVN是集中式的,所以不行。

分布式与集中式比较

另外,github是基于git的在线web页面代码托管平台,可以选择付费服务。而gitlab可以认为是一个开源的github,两者没有直接关系。


22.2 SVN


SVN使用(Linux)

因为是C/S架构,所以需要安装服务端和客户端。

准备两台机器,一台作为服务端,IP:192.168.100.150,一台作为客户端,IP:192.168.100.160。


服务端操作
  • 安装svn:
# yum install -y subversion
  • 创建版本库:
# mkdir -p /data/svnroot/myproject

# svnadmin create /data/svnroot/myproject				#初始化文件

# ls /data/svnroot/myproject/
conf  db  format  hooks  locks  README.txt

# ls  /data/svnroot/myproject/conf/
authz  passwd  svnserve.conf          

# vim /data/svnroot/myproject/conf/authz				#authz是权限控制文件,添加下面内容

lzxs = lzx,user1				#定义lzxs组,组下面有两个用户lzx、user1
[/]				#这里的 / 指的是/data/svnroot/myproject/目录
@lzxs = rw				#@指定组,rw可读可写
* = r				#*指所有

也可以下面这样写,在项目很多的时候可以使用下面方式

[myproject:/]
user1 = rw
# vim /data/svnroot/myproject/conf/passwd				#passwd是账号密码文件;在[users]添加以下内容
lzx = lzx_!(123
user1 = user1_^^^				#左边是用户,右边是密码

# vim /data/svnroot/myproject/conf/svnserve.conf				#svnserve是服务配置文件;在[general]下面添加以下内容
anon-access = none				#指匿名用户,无任何权限
auth-access = write				#指被授权用户,可写权限
pa
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/miss1181248983/article/details/82259838

智能推荐

2024——剑之所至,所向披靡-程序员宅基地

文章浏览阅读1.4k次,点赞34次,收藏22次。回顾2023年,这一年,从平凡到不平凡。回头看,如释重负,轻舟已过万重山。我本寒门子弟,却有着一刻不平凡的心;从参加工作开始,已有三年多了,一直保持着一个信念;学无止境,学习才能让我不迷茫;才会让那无处安放的心灵得到沉淀,那些抑郁不得志的日子,都是在图书馆扎根。回望待在上海浦东图书馆的日子,从早到晚,早到五点的闹钟,响了又响,晚到图书馆大爷拿着喇叭,驱赶着我们。图书馆的每一本书籍,都有我们记忆的碎片。前路漫漫,但终究我们还是一路向前!路虽远,行则将至;事虽难,做则必成!

Unity 室外光照-程序员宅基地

文章浏览阅读1.1k次,点赞13次,收藏20次。Unity 光照文档:目的:提升游戏体验和视觉效果Unity 使用详细的光线工作模型来获得更逼真的结果,并使用简化模型来获得更具风格化的结果。

制作优美的库文件_如何制作库文件-程序员宅基地

文章浏览阅读826次,点赞8次,收藏8次。目录前言一、项目工程二、制作过程1.编译选项2.符号处理总结前言本文讲的是如何制作库文件,你可能会问了,制作库文件不就是一个编译命令吗?没错,生成一个库文件就是用一条编译命令即可达到目的,但是如果制作一个接口完美封装、安全、高效的库文件,还是需要查阅很多资料,了解很多编译原理才能做到的,本文就是我查阅了很多资料,花了几天时间,做了很多次实验而实现的,下面就是我对这个功能的总结。一、项目工程设计一个数组元素的加减乘除作为库对外的接口INT32 ARRAY_ADD(_如何制作库文件

STM32启动地址设置及从非0x800000 开始调试程序-程序员宅基地

文章浏览阅读6.1k次,点赞2次,收藏6次。首先设置程序的启动地址,STM32默认的启动地址是从0x8000000开始的,现在我要设置程序向后偏移10K地址,也就是从0x8002800启动。 需要分两步完成上面操作: 一.Keil MDK设置; 设置keil MDK的target..._stm32启动地址

AMP的推导和理解(Part-1)_amp算法-程序员宅基地

文章浏览阅读9.7k次,点赞52次,收藏103次。Approximate Message Passing, AMP# 前言这篇博客是对AMP推导和理解的开端,主要介绍了在似然函数为Delta函数的硬约束问题下AMP的推导过程_amp算法

混淆工具javascript-obfuscator使用简介-程序员宅基地

文章浏览阅读2.5w次,点赞6次,收藏52次。javascript-obfuscator是一个免费的JavaScript代码混淆工具,它功能强大,可以把你的源代码变得“面目全非”,完全没有可读性。还具有部分防调试功能,给JavaSc..._javascript-obfuscator

随便推点

反思:安全需要新体系_安全服务反思:把渗透测试做成服务-程序员宅基地

文章浏览阅读1k次。转载于:http://news.csdn.net/a/20111228/309819.html 这几天互联网爆出用户帐户泄密事件,先是CSDN,然后是其他互联网巨头,然后又是天涯,似乎没完没了。事实上,远远不止这些,这仅仅是开头而不是结束,以后会爆出更多、更广、更有害的泄密,比如通信公司用户帐号泄密、银行系统用户帐号泄密,事情只会越来越严重。除非出现新的安全体系模型。大型互联网公_安全服务反思:把渗透测试做成服务

【通信原理| OFDM技术的最简讲解(上)】窄带、宽带与频分复用、多载波调制的讲解-程序员宅基地

文章浏览阅读1.4w次,点赞145次,收藏410次。文章目录前言一. 窄带与宽带二. 频分复用和多载波调制前言OFDM (Orthogonal frequency-division multiplexing, 正交频分复用) 技术,是4G LTE系统中的最核心技术之一, 其最核心的优势是可以很好地应对多径干扰。 随着5G时代的到来, 6G也被提上议程。 通信系统在未来势必往着速率更快, 带宽更高的方向发展, 而OFDM技术作为应对宽带场景的最有效手段, 必定不会缺席。 看了下目前网络上没有太好的OFDM的讲解, 许多博主把这本应浅显的技术, 用一堆生涩的_ofdm技术

hook API 详解_hook api需要hook那种类型的-程序员宅基地

文章浏览阅读1.4k次。来源:http://cisco.chinaitlab.com/safety/366596.html详谈HOOK API的技术HOOK API是一个永恒的话题,如果没有HOOK,许多技术将很难实现,也许根本不能实现。这里所说的API,是广义上的API,它包括DOS下的中断,WINDOWS里的API、中断服务、IFS和NDIS过滤等。比如大家熟悉的即时翻译软件,就是靠HOOK TextOut()或Ex_hook api需要hook那种类型的

电商API:淘宝/天猫获取sku详细信息_可以看 淘宝sku的z网站-程序员宅基地

文章浏览阅读2.5k次。item_sku-获取sku详细信息[查看演示]onebound.taobao.item_sku请求参数:num_iid=572050066584&sku_id=3880971359554&is_promotion=0参数说明:sku_id:SKU IDnum_iid:商品IDis_promotion:是否获取取促销价返回值说明名称 类型 是否隐私 示例值 描述nu..._可以看 淘宝sku的z网站

数字图像处理-相关知识-程序员宅基地

文章浏览阅读226次。数字图像处理(内含算法链接)

c++ get与set方法的宏定义实现_c++ 宏定义 set get-程序员宅基地

文章浏览阅读9.9k次,点赞10次,收藏13次。一、文章来由国庆节依然顽强的码代码,项目中需要用到 get 和 set 方法,但是问题来了,因为是 c++ 的,并不像 java 的 eclipse 有自动生成 get 和 set 方法。如果手写是可以,但是当属性特别多的时候会非常麻烦。。。但是宏定义方法可以搞定这个问题~~二、具体代码2.1 非指针类型成员变量// PropertyBuilderByName 用于生成类的成员变量// 并生成se_c++ 宏定义 set get

推荐文章

热门文章

相关标签