代码管理平台

代码管理平台就是实现版本控制的软件,为了以后网站、项目等代码版本控制的简便,需要搭建一个代码管理平台。比如以后老板要让你写一个文档,但是你拿给老板看后,有要求你多次修改文档,那你就要有很多作废的文档在电脑里,而每个文档具体改了什么也不清楚。而版本控制就可以很好的告诉你每次更新都改了什么。

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 = lizhi,user1

[/]
@admins = rw
* = r

[myproject:/]
user1 = rw
代码管理 - 图2

[root@localhost conf]# vim passwd

lizhi = 123456
user1 = user1000
user2 = user2000
代码管理 - 图3
[root@localhost conf]# vim svnserve.conf

[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = /data/svnroot/myproject
代码管理 - 图4
启动服务
svnserve -d -r /data/svnroot
[root@localhost conf]# cd [root@localhost ~]# svn checkout svn://192.168.100.10/myproject —username=lizhi认证领域: svn://192.168.100.10:3690 /data/svnroot/myproject “lizhi”的密码: //输入密码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

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]#
代码管理 - 图5
//上传文件至服务器
[root@client myproject]# cp /etc/fstab .
[root@client myproject]#

//添加到版本控制中心
[root@client myproject]# svn add fstab
A fstab
[root@client myproject]#
代码管理 - 图6
//把文件上传到服务器
[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]#
代码管理 - 图7
把当前目录下的文件都更新到最新版
[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 并安装

代码管理 - 图8
代码管理 - 图9
代码管理 - 图10
代码管理 - 图11
代码管理 - 图12
代码管理 - 图13
代码管理 - 图14
代码管理 - 图15
代码管理 - 图16
安装完毕后,在任意地方右键查看快捷菜单。发现TortoiseSVN
即表示安装成功。
代码管理 - 图17
下载语言包
代码管理 - 图18
点击软件包安装
代码管理 - 图19
代码管理 - 图20

(2)检出

首先创建一个空文件夹。在空文件夹内右键,选择SVN检出。
代码管理 - 图21
在这个界面,填入版本库地址,选择确定

代码管理 - 图22

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

代码管理 - 图23
可以看到把服务端同步过来了

(3)添加

先重启一下电脑
新添加一个文件,要先点击加入,再点击提交
代码管理 - 图24
代码管理 - 图25
在另外一个客户端更新一下即可看到该文件
[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会有各种图标提示,如果没有重启即可解决。
代码管理 - 图26
重新提交完成以后,图标即可变为绿色
代码管理 - 图27

(4)删除

进行删除操作以后也要进行提交。
代码管理 - 图28

(5)修改

修改原文件内容,直接提交即可。
代码管理 - 图29
代码管理 - 图30

(6)查看日志

代码管理 - 图31

代码管理 - 图32