技术标签: 代码管理平台 linux # Linux高级 svn
代码管理平台,也可以称为代码管理工具,顾名思义,就是管理代码的平台,代码可以是公司开发的网站,或者是开发的项目,我们需要把这些代码放到一个平台上面进行管理。
说到这可能有人会想,不就是代码吗?我把它放在服务器上的某个目录不就行了吗?开发完新的项目再把代码传上去替换掉旧的代码不就可以了吗?
当然,对于网站来说,这样做是没什么问题的。但是,如果代码每天有很多的地方在更新,当有一天,你想看到最近一段时间代码变化的地方,你怎么看?很不方便,而且你和同事都在开发的时候想看到对方开发的内容。而代码管理平台就能很容易实现目的。
代码管理工具的作用:
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,两者没有直接关系。
因为是C/S架构,所以需要安装服务端和客户端。
准备两台机器,一台作为服务端,IP:192.168.100.150,一台作为客户端,IP:192.168.100.160。
# 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
文章浏览阅读1.4k次,点赞34次,收藏22次。回顾2023年,这一年,从平凡到不平凡。回头看,如释重负,轻舟已过万重山。我本寒门子弟,却有着一刻不平凡的心;从参加工作开始,已有三年多了,一直保持着一个信念;学无止境,学习才能让我不迷茫;才会让那无处安放的心灵得到沉淀,那些抑郁不得志的日子,都是在图书馆扎根。回望待在上海浦东图书馆的日子,从早到晚,早到五点的闹钟,响了又响,晚到图书馆大爷拿着喇叭,驱赶着我们。图书馆的每一本书籍,都有我们记忆的碎片。前路漫漫,但终究我们还是一路向前!路虽远,行则将至;事虽难,做则必成!
文章浏览阅读1.1k次,点赞13次,收藏20次。Unity 光照文档:目的:提升游戏体验和视觉效果Unity 使用详细的光线工作模型来获得更逼真的结果,并使用简化模型来获得更具风格化的结果。
文章浏览阅读826次,点赞8次,收藏8次。目录前言一、项目工程二、制作过程1.编译选项2.符号处理总结前言本文讲的是如何制作库文件,你可能会问了,制作库文件不就是一个编译命令吗?没错,生成一个库文件就是用一条编译命令即可达到目的,但是如果制作一个接口完美封装、安全、高效的库文件,还是需要查阅很多资料,了解很多编译原理才能做到的,本文就是我查阅了很多资料,花了几天时间,做了很多次实验而实现的,下面就是我对这个功能的总结。一、项目工程设计一个数组元素的加减乘除作为库对外的接口INT32 ARRAY_ADD(_如何制作库文件
文章浏览阅读6.1k次,点赞2次,收藏6次。首先设置程序的启动地址,STM32默认的启动地址是从0x8000000开始的,现在我要设置程序向后偏移10K地址,也就是从0x8002800启动。 需要分两步完成上面操作: 一.Keil MDK设置; 设置keil MDK的target..._stm32启动地址
文章浏览阅读9.7k次,点赞52次,收藏103次。Approximate Message Passing, AMP# 前言这篇博客是对AMP推导和理解的开端,主要介绍了在似然函数为Delta函数的硬约束问题下AMP的推导过程_amp算法
文章浏览阅读2.5w次,点赞6次,收藏52次。javascript-obfuscator是一个免费的JavaScript代码混淆工具,它功能强大,可以把你的源代码变得“面目全非”,完全没有可读性。还具有部分防调试功能,给JavaSc..._javascript-obfuscator
文章浏览阅读1k次。转载于:http://news.csdn.net/a/20111228/309819.html 这几天互联网爆出用户帐户泄密事件,先是CSDN,然后是其他互联网巨头,然后又是天涯,似乎没完没了。事实上,远远不止这些,这仅仅是开头而不是结束,以后会爆出更多、更广、更有害的泄密,比如通信公司用户帐号泄密、银行系统用户帐号泄密,事情只会越来越严重。除非出现新的安全体系模型。大型互联网公_安全服务反思:把渗透测试做成服务
文章浏览阅读1.4w次,点赞145次,收藏410次。文章目录前言一. 窄带与宽带二. 频分复用和多载波调制前言OFDM (Orthogonal frequency-division multiplexing, 正交频分复用) 技术,是4G LTE系统中的最核心技术之一, 其最核心的优势是可以很好地应对多径干扰。 随着5G时代的到来, 6G也被提上议程。 通信系统在未来势必往着速率更快, 带宽更高的方向发展, 而OFDM技术作为应对宽带场景的最有效手段, 必定不会缺席。 看了下目前网络上没有太好的OFDM的讲解, 许多博主把这本应浅显的技术, 用一堆生涩的_ofdm技术
文章浏览阅读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那种类型的
文章浏览阅读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次。数字图像处理(内含算法链接)
文章浏览阅读9.9k次,点赞10次,收藏13次。一、文章来由国庆节依然顽强的码代码,项目中需要用到 get 和 set 方法,但是问题来了,因为是 c++ 的,并不像 java 的 eclipse 有自动生成 get 和 set 方法。如果手写是可以,但是当属性特别多的时候会非常麻烦。。。但是宏定义方法可以搞定这个问题~~二、具体代码2.1 非指针类型成员变量// PropertyBuilderByName 用于生成类的成员变量// 并生成se_c++ 宏定义 set get