代码管理平台

一、代码管理平台常识

前言
代码管理平台就是实现版本控制的软件,为了以后网站、项目等代码版本控制的简便,需要搭建一个代码管理平台。比如以后老板要让你写一个文档,但是你拿给老板看后,有要求你多次修改文档,那你就要有很多作废的文档在电脑里,而每个文档具体改了什么也不清楚。而版本控制就可以很好的告诉你每次更新都改了什么。
常识:
版本控制:记录若干文件内容变化,以便将来查阅特定版本修订情况。
版本管理工具发展简史,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的安装与使用

1. 服务端安装

1.1安装服务端
[root@localhost ~]# yum install -y subversion
代码管理平台 - 图1
1.2创建版本库
[root@localhost ~]# mkdir -p /data/svnroot/myproject
代码管理平台 - 图2
[root@localhost ~]# svnadmin create /data/svnroot/myproject/
[root@localhost ~]# cd /data/svnroot/myproject/
代码管理平台 - 图3
[root@localhost ~]# cd /data/svnroot/myproject/conf/
auth 为权限配置文件,passwd为密码文件
代码管理平台 - 图4
1.3修改配置文件
[root@localhost conf]# vim authz
[groups]
admins = zzx,user1 #admins组包含zzx与user1用户

[/] #指项目目录
@admins = rw #设置组权限
* = r

[myproject:/] #针对项目权限
user1 = rw
代码管理平台 - 图5

[root@localhost conf]# vim passwd #添加以下内容
zzx = zzx000
user1 = user1000
user2 = user2000
代码管理平台 - 图6

[root@localhost conf]# vim svnserve.conf
#放开注释及修改
anon-access = none
realm = /data/svnroot/myproject
代码管理平台 - 图7
1.4启动服务
[root@localhost conf]# svnserve -d -r /data/svnroot
代码管理平台 - 图8
1.5拉取项目
[root@localhost conf]# cd /opt/
代码管理平台 - 图9
[root@localhost opt]# svn checkout svn://192.168.200.50/myproject —username=zzx
认证领域: svn://192.168.200.50:3690 /data/svnroot/myproject
“zzx”的密码: zzx000
认证领域: svn://192.168.200.50:3690 /data/svnroot/myproject
用户名: user1
“user1”的密码: user1000

———————————————————————————————————-
注意! 你的密码,对于认证域:

svn://192.168.200.50:3690 /data/svnroot/myproject

只能明文保存在磁盘上! 如果可能的话,请考虑配置你的系统,让 Subversion
可以保存加密后的密码。请参阅文档以获得详细信息。

你可以通过在“/root/.subversion/servers”中设置选项“store-plaintext-passwords”为“yes”或“no”,
来避免再次出现此警告。
———————————————————————————————————-
保存未加密的密码(yes/no)?yes
取出版本 0。
代码管理平台 - 图10
[root@localhost opt]# ls
myproject

[root@localhost opt]# ls -a myproject/
. .. .svn
代码管理平台 - 图11

三、使用SVN

1. 在客户端使用

1.1准备一台客户端
代码管理平台 - 图12
代码管理平台 - 图13
[root@client ~]# cd /opt/
[root@client opt]# yum install -y subversion
代码管理平台 - 图14
1.2拉取项目
[root@client opt]# svn checkout svn://192.168.200.50/myproject —username=zzx
代码管理平台 - 图15
[root@client opt]# cd myproject/
[root@client myproject]# ls -al
代码管理平台 - 图16
1.3上传文件至服务器
[root@client myproject]# cp /etc/fstab .
代码管理平台 - 图17
1.4添加到版本控制中心
[root@client myproject]# svn add fstab
代码管理平台 - 图18
1.5上传到服务器
[root@client myproject]# svn commit -m “add fstab file”
代码管理平台 - 图19
1.6删除
本地删除
[root@client myproject]# svn delete fstab
代码管理平台 - 图20
1.7在服务器提交操作
[root@client myproject]# svn commit -m “delete fstab file”
代码管理平台 - 图21
1.8更新
[root@client myproject]# svn update
代码管理平台 - 图22
1.9查看日志
[root@client myproject]# svn log
代码管理平台 - 图23
1.10恢复上一个版本
[root@client myproject]# vi 123.txt
代码管理平台 - 图24
[root@client myproject]# svn add 123.txt
代码管理平台 - 图25
[root@client myproject]# svn commit -m “add 123.txt file”
代码管理平台 - 图26
[root@client myproject]# vi 123.txt
代码管理平台 - 图27
[root@client myproject]# svn commit -m “update 123.txt file”
代码管理平台 - 图28
1.11 4为当前版本,3为要恢复到哪个版本。
[root@client myproject]# svn merge -r 4:3 123.txt
代码管理平台 - 图29
[root@client myproject]# cat 123.txt
代码管理平台 - 图30
[root@client myproject]# svn commit -m “2update 123.txt file”
代码管理平台 - 图31

2.在windows中使用SVN

1.下载

官网:https://tortoisesvn.net/index.zh.html
代码管理平台 - 图32

2.安装

点击下载好的安装包
运行

代码管理平台 - 图33
代码管理平台 - 图34
代码管理平台 - 图35
代码管理平台 - 图36
代码管理平台 - 图37
随意右击一个文件 有这个tortoiseSVN代表安装成功
代码管理平台 - 图38

3.使用

下载语言包

代码管理平台 - 图39
点击软件包安装
代码管理平台 - 图40
代码管理平台 - 图41
如果没有勾选,可以在设置里面设置语言
代码管理平台 - 图42
代码管理平台 - 图43

1. 检出

新建一个文件夹,右键选择SVN检出
代码管理平台 - 图44
之后会弹出一个认证
用户名:zzx
密码:000
代码管理平台 - 图45
可以看到把服务端同步过来了

2.添加

新添加一个文件,右键点击加入,再点击提交
代码管理平台 - 图46
之后再右键点SVN提交
代码管理平台 - 图47
[root@client myproject]# ls -a
[root@client myproject]# svn update
[root@client myproject]# ls -a
代码管理平台 - 图48
Windows中的SVN会有各种图标提示,如果没有重启即可解决。
代码管理平台 - 图49
重新提交完成以后,图标即可变为绿色
代码管理平台 - 图50

代码管理平台 - 图51

3.删除

进行删除操作以后也要进行提交。
先加入再提交 add file 8888.txt
代码管理平台 - 图52
直接右键删除是删不掉的,必须在TortoiseSVN中选择删除才可以。

4.修改

修改还文件内容,直接提交即可。

5.查看日志

代码管理平台 - 图53
双节打开一个,就会产生对比。
代码管理平台 - 图54

6.添加忽略

一些测试类文件不想提交,添加为忽略即可。