内容摘要
一、代码管理平台介绍
二、 安装svn
三、客户端上使用svn(linux)
四、客户端上使用svn(windows)

一、代码管理平台介绍

  1. 代码管理平台也叫版本控制,记录若干文件内容变化,以便将来查阅特定版本修订情况。
  2. 版本管理工具发展简史,cvs —- svn —- git,参考:(http://luckypoem14.github.io/test/2012/04/24/scm-history/)
  3. svn全称subversion,是一个开源版本控制系统,始于2000年。git是linux创始人linus发起的,2005年发布,最初目的是更好管理linux内核代码。
  4. git和svn不同在于git不需要依赖服务端就可以工作,即git是分布式的。关于git和svn的比较大家参考:http://blog.lishiming.net/?p=305
  5. github是基于git的在线web页面代码托管平台,可以选择付费服务。
  6. gitlab可以认为是一个开源的github,两者没有直接关系。
  7. 总结
    代码管理平台也叫版本控制,svn是基于c/s架构 客户端需要把新代码上传到服务端。git是分布式的,每个客户端都是独立的版本管理中心,代码可以存放在本机上,也可以上传到服务端上来汇总所有的更新。 github是在线的基于git的平台。gitlab与github一样,只是它是开源的。公司多用它来作私人仓库。

二、 安装svn

由于svn是基于c/s架构的,这里先安装服务端

步骤


  1. 使用yum安装svn
[root@aming-01 ~]# yum install -y subversion
  1. 建立版本仓库并初始化
[root@aming-01 ~]# mkdir -p /data/svnroot/myproject
[root@aming-01 ~]# svnadmin create /data/svnroot/myproject
  1. 初始化仓库后可以发现多了些配置文件
[root@aming-01 myproject]# ls
conf  db  format  hooks  locks  README.txt
  1. 进入conf目录有三个配置文件
[root@aming-01 myproject]# cd conf/
[root@aming-01 conf]# ls
authz  passwd  svnserve.conf

authz为权限配置文件 passwd为密码文件 svnserve.conf配置svnserve

  1. 编辑authz文件
admins = zhaoyujie,shenxinyu   ##admins组中有zhaoyujie,shenxinyu成员[/]                    ##指定当前目录用户执行权限
@admins = rw   ##admins组成员有读写
* = r                   ## 其他人只读[myproject:/]  ##等同与[/],一般存在多个项目时这样使用
user1 = rw
  1. 编辑passwd文件
[root@aming-01 conf]# vim passwd
找到[users]并在其下面添加内容如下:
zhaoyujie = 38003800    ##用户 = 密码
shenxinyu = shenxinyu
  1. 编辑svnserve.conf文件
[root@aming-01 conf]# vim svnserve.conf
在[general]下添加如下内容:
[general]
non-access = none        ##匿名用户没权限
auth-access = write      ##授权用户可写
password-db = passwd     ##指定用户密码文件路径
authz-db = authz          ##指定权限控制文件路径
realm = /data/svnroot/myproject  ##指定项目路径
  1. 启动svn服务
[root@aming-01 conf]# svnserve -d -r /data/svnroot

-d 后台启动 -r 指定仓库路径

  1. 查看是否启动
[root@aming-01 conf]# ps aux |grep svn
root      1607  0.0  0.0 180716   812 ?        Ss   20:53   0:00 svnserve -d -r /data/svnroot
root      1621  0.0  0.0 112720   980 pts/0    R+   21:00   0:00 grep --color=auto svn
[root@aming-01 conf]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      1126/zabbix_server

三、客户端上使用svn(linux)

  1. 使用yum安装svn
[root@aming-01 ~]# yum install -y subversion
  1. 在本地建立存放代码的目录并进入该目录中
[root@aming-01 conf]# mkdir -p /home/svntest/
[root@aming-01 conf]# cd /home/svntest/
  1. 下载项目到本地上
    格式:svn checkout svn://IP/项目 --username=用户
[root@zhaoyujie svntest]# svn checkout svn://192.168.157.130/myproject --username=zhaoyujie
认证领域: <svn://192.168.157.130:3690> /data/svnroot/myproject
“zhaoyujie”的密码:

第一次登录后用户名和密码都会记录在/root/.subversion/auth/svn.simple

[root@aming-01 myproject]# cat /root/.subversion/auth/svn.simple/e06a6eb8f7acb609753cdc4eaa8cd623
K 8
passtype
V 6
simple
K 8
password
V 8
38003800
K 15
svn:realmstring
V 52
<svn://192.168.157.128:3690> /data/svnroot/myproject
K 8
username
V 9
zhaoyujie
END

上传数据到服务端

  1. 进入本地项目添加更改数据
[root@aming-01 myproject]# cd /home/svntest/myproject/
[root@aming-01 myproject]# cp /etc/passwd ./
  1. 为数据添加上传标签

    格式:svn add 更改的文件

[root@aming-01 myproject]# svn add ./passwd
A         passwd
  1. 提交上传数据

    格式:svn commit -m “备注内容”

[root@aming-01 myproject]#  svn commit -m "add passwd"
正在增加       passwd
传输文件数据.
提交后的版本为 1。
  1. 更新最新版本的数据到本地

    格式:svn up或者 svn update

[root@aming-01 myproject]# svn up
正在升级 '.':
U    passwd
更新到版本 2。
  1. 删除本地数据并打标记

    格式:格式:svn delete 删除的文件

[root@aming-01 myproject]# svn delete ./passwd
D         passwd
  1. 提交删除数据

    格式:svn commit -m “备注内容”

[root@aming-01 myproject]# svn commit -m "delete passwd"
正在删除       passwd提交后的版本为 3。
  1. 查看版本历史

    格式:svn log

root@aming-01 myproject]# svn log
------------------------------------------------------------------------
r3 | zhaoyujie | 2018-08-29 06:55:49 +0800 (三, 2018-08-29) | 1 行delete passwd
------------------------------------------------------------------------
r2 | zhaoyujie | 2018-08-29 06:49:16 +0800 (三, 2018-08-29) | 1 行ch passwd
------------------------------------------------------------------------
r1 | zhaoyujie | 2018-08-29 06:34:10 +0800 (三, 2018-08-29) | 1 行add passwd
------------------------------------------------------------------------

四、客户端上使用svn(windows)

在window下使用tortoisesvn软件,简称小乌龟 官网 https://tortoisesvn.net/index.zh.html

简明教程 http://www.jianshu.com/p/6b3b7b915332

我们在本地上创建一个目录使用右键点击目录

输入服务器的项目路径和用户来下载项目到本地上

新建一个文件右键—-tortoisesvn—-add—-svn commit

输入备注

当服务端有新数据后:右键目录—-svn update

代码管理平台—svn相关推荐

  1. 代码管理平台——svn、git、github、gitlab

    2019独角兽企业重金招聘Python工程师标准>>> 代码管理平台 一.代码管理平台介绍 版本控制,记录若干文件内容变化,以便将来查阅特定版本修订情况 版本管理工具发展史:cvs- ...

  2. linux连接svn上代码,代码管理平台介绍、安装svn、客户端上使用svn(linux)、客户端上使用svn(windows)...

    代码管理平台介绍 代码管理平台介绍--svn 版本控制,记录若干文件内容变化,以便未来查阅特定版本修订状况. 好比某一个业务,须要不断更新,好比产品经理这周提交了产品新的需求,改动了一些代码,咱们把新 ...

  3. 代码管理平台介绍、安装svn、客户端使用svn、远程仓库、分支管理、标签管理、git别名、搭建git服务、安装gitlab、简单使用gitlab、备份和恢复

    22.1 代码管理平台介绍 现在的开发工作都是由团队合作来完成开发,通常都是团队中的每个人或者每几个人完成一个模块的开发,最后再将模块拼凑起来,形成一个完整的项目,这就涉及到了协同开发.在各个模块的开 ...

  4. 阿里巴巴自研代码管理平台技术解密

    [以下为分享实录,有删节] 阿里巴巴为什么要自研代码管理平台 也许你会问:为什么阿里巴巴要重新做一套代码管理平台,继续用GitLab版本不是挺好的吗?接下来从我个人的角度在这里尝试进行解答. 由于历史 ...

  5. 代码管理_阿里巴巴自研代码管理平台技术解密

    [以下为分享实录,有删节]阿里巴巴为什么要自研代码管理平台 也许你会问:为什么阿里巴巴要重新做一套代码管理平台,继续用GitLab版本不是挺好的吗?接下来从我个人的角度在这里尝试进行解答. 由于历史原 ...

  6. 【0718】 代码管理平台

    22.1 代码管理平台介绍 版本控制,记录若干文件内容变化,以便将来查阅特定版本修订情况 版本管理工具发展简史,cvs-> svn-> git  参考http://luckypoem14. ...

  7. Codeup企业级代码管理平台,我们应该如何使用Codeup-阿里云

    Codeup 是一款企业级代码管理平台,提供代码托管.代码评审.代码扫描.质量检测等功能,全方位保护企业代码资产,帮助企业实现安全.稳定.高效的研发管理. 初创企业面临的问题 做为一家初创企业,代码托 ...

  8. 使用Git命令行推送代码到远程仓库,阿里云效Codeup代码管理平台

    项目提交暂存.提交本地仓库.拉取.推送: [本步骤是新项目流程]请自行根据自有项目分辨是否需要跳过前两步. 右键点击项目根文件夹,选中Git Bash Here,打开命令行. (1)初始化项目命令: ...

  9. 企业安全之内部代码管理平台Gitlab下载及权限审计

    企业通常会使用Gitlab作为内部代码管理平台,一来私有仓库更加安全,二来gitlab的功能十分完整.但仍不能保证私有仓库中的代码不被泄露到外部,于是对gitlab的权限审计以及下载审计就变得尤为重要 ...

最新文章

  1. 初赛问题求解及选择题数学相关整理
  2. dojo中的dojo/dom-attr
  3. 查看linux版本的三种常用方法
  4. js中的对象、原型链机制、构造函数
  5. 大四课程设计之基于RFID技术的考勤管理系统(四)Qt界面设计
  6. mysql能存储的编码范围_mysql存储乱码之编码问题
  7. 使用aws跑深度学习_RNN示例项目从开发到部署(三):在AWS上部署深度学习模型...
  8. jQuery Mobile中面板panel的data-*选项
  9. win7 可以装matlab 吗,如何在win7里安装matlab7.0
  10. Paraview使用指南
  11. SQL语句的各种连接查询
  12. Android图像压缩库Tiny更新优化 解决X509TrustManager问题,重新编译libjpeg-turbo支持cpu全架构
  13. excel替换快捷键_excel怎样查找替换 excel查找替换快捷键,看完你学会了么
  14. 计算机窗口的排列和切换,win10系统操作多窗口显示排列切换的方案介绍
  15. vue-cli3 跑项目时 ‘98%’ after emitting CopyPlugin
  16. arcgis 属性表中起点终点创建线_一种GIS单线路网自动生成双线路网的方法与流程...
  17. 控制IE浏览器升级降级
  18. 解决服务器报错java.nio.file.AccessDeniedException: /opt/jeecg-boot/upload
  19. php开发框架_适用于开发人员的10个PHP框架-最佳
  20. HCIP第十四天笔记

热门文章

  1. java公众号互推联盟_写公众号15个月以来,这一路上的学习与收获
  2. 苹果手机如何切换沙盒账号登录
  3. Python办公自动化 | Task 01 文件自动化处理邮件批量处理
  4. 常用存储芯片-笔记本上固态硬盘PTS11系列推荐
  5. 希尔顿集团旗下品牌希尔顿启缤精选酒店在河北廊坊正式开业
  6. 计算机主机拆装ppt模板,计算机拆装步骤222.ppt
  7. New情报:APT28,TA505 黑产组织,VenusLocker Ransomware组织,ROKRAT远控
  8. Emoji 的处理 - 使用正则表达式匹配所有 Emoji表情
  9. Windows 11 的“此电脑”图标在哪里?
  10. KF UD分解之UD分解基础篇【1】