代码管理平台就是实现版本控制的软件,为了以后网站、项目等代码版本控制的简便,需要搭建一个代码管理平台。比如以后老板要让你写一个文档,但是你拿给老板看后,有要求你多次修改文档,那你就要有很多作废的文档在电脑里,而每个文档具体改了什么也不清楚。而版本控制就可以很好的告诉你每次更新都改了什么。
理论篇
一、 代码管理平台常识
任务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 subversion
subversion-1.7.14-16.el7.x86_64
subversion-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]# ls
authz passwd svnserve.conf
//authz为权限配置文件,passwd为密码文件
将配置文件改为如下
[root@localhost conf]# vim authz
[groups]
admins = sxb,user1
[/]
@admins = rw
* = r
[myproject:/]
user1 = rw
[root@localhost conf]# vim passwd
sxb = 123456
user1 = user1000
user2 = user2000
[root@localhost conf]# vim svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = /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 ~]# ls
anaconda-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 ~]# ls
anaconda-ks.cfg myproject
[root@client ~]# cd myproject/
[root@client myproject]# ls -al
总用量 0
drwxr-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 fstab
A fstab
[root@client myproject]#
//把文件上传到服务器
[root@client myproject]# svn commit -m "add fstab file"
正在增加 fstab
传输文件数据.
提交后的版本为 1。
[root@client myproject]#
//在本地删除
[root@client myproject]# svn delete fstab
D 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)删除
进行删除操作以后也要进行提交。