代码管理平台就是实现版本控制的软件,为了以后网站、项目等代码版本控制的简便,需要搭建一个代码管理平台。比如以后老板要让你写一个文档,但是你拿给老板看后,有要求你多次修改文档,那你就要有很多作废的文档在电脑里,而每个文档具体改了什么也不清楚。而版本控制就可以很好的告诉你每次更新都改了什么。
理论篇
一、 代码管理平台常识
任务1.1 代码管理平台常识
(1)代码管理工具发展简史
版本控制:记录若干文件内容变化,以便将来查阅特定版本修订情况。
版本管理工具发展简史,CVS→SVN→Git 。
参考http://luckypoem14.github.io/test/2012/04/24/scm-history/。
(2)svn与git的开端
SVN全称subversion,是一个开源版本控制系统,始于2000年。
Git是Linux创始人Linus发起的,2005年发布,最初目的是更好管理Linux内核代码。
(3)SVN与Git的区别
Git和SVN不同在于Git不需要依赖服务端就可以工作,即Git是分布式的。
关于Git和SVN的比较大家参考http://blog.lishiming.net/?p=305。
(4)简单了解GitLab与GitHub
GitHub是基于Git的在线Web页面代码托管平台,可以选择付费服务。
GitLab可以认为是一个开源的GitHub,两者没有直接关系。
实践篇
二、 SVN的安装与使用
2.1 安装SVN
服务端安装:
安装并查看
[root@localhost ~]# yum install -y subversion[root@localhost ~]# rpm -qa |grep subversionsubversion-1.7.14-16.el7.x86_64subversion-libs-1.7.14-16.el7.x86_64
创建版本库
[root@localhost ~]# mkdir -p /data/svnroot/myproject[root@localhost ~]# svnadmin create /data/svnroot/myproject[root@localhost ~]# cd /data/svnroot/myproject/conf[root@localhost conf]# lsauthz passwd svnserve.conf//authz为权限配置文件,passwd为密码文件
将配置文件改为如下
[root@localhost conf]# vim authz[groups]admins = sxb,user1[/]@admins = rw* = r[myproject:/]user1 = rw

[root@localhost conf]# vim passwdsxb = 123456user1 = user1000user2 = user2000

[root@localhost conf]# vim svnserve.conf[general]anon-access = noneauth-access = writepassword-db = passwdauthz-db = authzrealm = /data/svnroot/myproject

启动服务[root@localhost conf]# svnserve -d -r /data/svnroot
拉取项目[root@localhost conf]# cd[root@localhost ~]# svn checkout svn://192.168.100.10/myproject --username=sxb认证领域: <svn://192.168.100.10:3690> /data/svnroot/myproject“sxb”的密码: //输入密码123456注意! 你的密码,对于认证域:<svn://192.168.100.10:3690> /data/svnroot/myproject只能明文保存在磁盘上! 如果可能的话,请考虑配置你的系统,让 Subversion可以保存加密后的密码。请参阅文档以获得详细信息。你可以通过在“/root/.subversion/servers”中设置选项“store-plaintext-passwords”为“yes”或“no”,来避免再次出现此警告。保存未加密的密码(yes/no)?yes取出版本 0。[root@localhost ~]# lsanaconda-ks.cfg myproject[root@localhost ~]# ls -a myproject/. .. .svn[root@localhost ~]#
2.2 使用SVN
再准备另一台虚拟机做客户端,在客户端使用
[root@localhost ~]# yum install -y subversion[root@localhost ~]# hostnamectl set-hostname client[root@localhost ~]# su -上一次登录:四 8月 12 15:44:57 CST 2021从 192.168.100.1pts/0 上[root@client ~]#
//拉取项目[root@client ~]# svn checkout svn://192.168.100.10/myproject --username=sxb认证领域: <svn://192.168.100.10:3690> /data/svnroot/myproject“sxb”的密码:注意! 你的密码,对于认证域:<svn://192.168.100.10:3690> /data/svnroot/myproject只能明文保存在磁盘上! 如果可能的话,请考虑配置你的系统,让 Subversion可以保存加密后的密码。请参阅文档以获得详细信息。你可以通过在“/root/.subversion/servers”中设置选项“store-plaintext-passwords”为“yes”或“no”,来避免再次出现此警告。保存未加密的密码(yes/no)?yes取出版本 0。[root@client ~]# lsanaconda-ks.cfg myproject[root@client ~]# cd myproject/[root@client myproject]# ls -al总用量 0drwxr-xr-x. 3 root root 18 8月 12 15:49 .dr-xr-x---. 4 root root 187 8月 12 15:49 ..drwxr-xr-x. 4 root root 75 8月 12 15:49 .svn[root@client myproject]#

//上传文件至服务器[root@client myproject]# cp /etc/fstab .[root@client myproject]#//添加到版本控制中心[root@client myproject]# svn add fstabA fstab[root@client myproject]#

//把文件上传到服务器[root@client myproject]# svn commit -m "add fstab file"正在增加 fstab传输文件数据.提交后的版本为 1。[root@client myproject]#//在本地删除[root@client myproject]# svn delete fstabD fstab[root@client myproject]#在服务器上提交删除操作[root@client myproject]# svn commit -m "delete fstab file"正在删除 fstab提交后的版本为 2。[root@client myproject]#

把当前目录下的文件都更新到最新版[root@client myproject]# svn update正在升级 '.':版本 2。查看变更日志[root@client myproject]# svn log------------------------------------------------------------------------r2 | sxb | 2021-08-12 15:57:16 +0800 (四, 2021-08-12) | 1 行delete fstab file------------------------------------------------------------------------r1 | sxb | 2021-08-12 15:55:13 +0800 (四, 2021-08-12) | 1 行add fstab file------------------------------------------------------------------------[root@client myproject]#
2.3 Windows中使用SVN
官网:https://tortoisesvn.net/index.zh.html
下载TortoiseSVN并安装:
(1)下载TortoiseSVN 并安装









安装完毕后,在任意地方右键查看快捷菜单。发现TortoiseSVN
即表示安装成功。
下载语言包
点击软件包安装
(2)检出
首先创建一个空文件夹。在空文件夹内右键,选择SVN检出。
在这个界面,填入版本库地址,选择确定

此时会弹出一个对话框让你输入账号密码,输入你的账号密码即可。记得勾选保存认证,不然每次操作都会让你输入。

(3)添加
先重启一下电脑
新添加一个文件,要先点击加入,再点击提交

在另外一个客户端更新一下即可看到该文件
[root@client myproject]# ls -a. .. .svn[root@client myproject]# svn update正在升级 '.':A 云运维工坊.docx更新到版本 3。[root@client myproject]# ls -a. .. .svn 云运维工坊.docx[root@client myproject]#
Windows中的SVN会有各种图标提示,如果没有重启即可解决。
重新提交完成以后,图标即可变为绿色
(4)删除
进行删除操作以后也要进行提交。



