代码管理平台
一、代码管理平台常识
前言
代码管理平台就是实现版本控制的软件,为了以后网站、项目等代码版本控制的简便,需要搭建一个代码管理平台。比如以后老板要让你写一个文档,但是你拿给老板看后,有要求你多次修改文档,那你就要有很多作废的文档在电脑里,而每个文档具体改了什么也不清楚。而版本控制就可以很好的告诉你每次更新都改了什么。
常识:
版本控制:记录若干文件内容变化,以便将来查阅特定版本修订情况。
版本管理工具发展简史,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.2创建版本库
[root@localhost ~]# mkdir -p /data/svnroot/myproject
[root@localhost ~]# svnadmin create /data/svnroot/myproject/
[root@localhost ~]# cd /data/svnroot/myproject/
[root@localhost ~]# cd /data/svnroot/myproject/conf/
auth 为权限配置文件,passwd为密码文件
1.3修改配置文件
[root@localhost conf]# vim authz
[groups]
admins = zzx,user1 #admins组包含zzx与user1用户
[/] #指项目目录
@admins = rw #设置组权限
* = r
[myproject:/] #针对项目权限
user1 = rw
[root@localhost conf]# vim passwd #添加以下内容
zzx = zzx000
user1 = user1000
user2 = user2000
[root@localhost conf]# vim svnserve.conf
#放开注释及修改
anon-access = none
realm = /data/svnroot/myproject
1.4启动服务
[root@localhost conf]# svnserve -d -r /data/svnroot
1.5拉取项目
[root@localhost conf]# cd /opt/
[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。
[root@localhost opt]# ls
myproject
[root@localhost opt]# ls -a myproject/
. .. .svn
三、使用SVN
1. 在客户端使用
1.1准备一台客户端
[root@client ~]# cd /opt/
[root@client opt]# yum install -y subversion
1.2拉取项目
[root@client opt]# svn checkout svn://192.168.200.50/myproject —username=zzx
[root@client opt]# cd myproject/
[root@client myproject]# ls -al
1.3上传文件至服务器
[root@client myproject]# cp /etc/fstab .
1.4添加到版本控制中心
[root@client myproject]# svn add fstab
1.5上传到服务器
[root@client myproject]# svn commit -m “add fstab file”
1.6删除
本地删除
[root@client myproject]# svn delete fstab
1.7在服务器提交操作
[root@client myproject]# svn commit -m “delete fstab file”
1.8更新
[root@client myproject]# svn update
1.9查看日志
[root@client myproject]# svn log
1.10恢复上一个版本
[root@client myproject]# vi 123.txt
[root@client myproject]# svn add 123.txt
[root@client myproject]# svn commit -m “add 123.txt file”
[root@client myproject]# vi 123.txt
[root@client myproject]# svn commit -m “update 123.txt file”
1.11 4为当前版本,3为要恢复到哪个版本。
[root@client myproject]# svn merge -r 4:3 123.txt
[root@client myproject]# cat 123.txt
[root@client myproject]# svn commit -m “2update 123.txt file”
2.在windows中使用SVN
1.下载
官网:https://tortoisesvn.net/index.zh.html
2.安装
点击下载好的安装包
运行
随意右击一个文件 有这个tortoiseSVN代表安装成功
3.使用
下载语言包
1. 检出
新建一个文件夹,右键选择SVN检出
之后会弹出一个认证
用户名:zzx
密码:000
可以看到把服务端同步过来了
2.添加
新添加一个文件,右键点击加入,再点击提交
之后再右键点SVN提交
[root@client myproject]# ls -a
[root@client myproject]# svn update
[root@client myproject]# ls -a
Windows中的SVN会有各种图标提示,如果没有重启即可解决。
重新提交完成以后,图标即可变为绿色
3.删除
进行删除操作以后也要进行提交。
先加入再提交 add file 8888.txt
直接右键删除是删不掉的,必须在TortoiseSVN中选择删除才可以。
4.修改
修改还文件内容,直接提交即可。
5.查看日志
双节打开一个,就会产生对比。
6.添加忽略
一些测试类文件不想提交,添加为忽略即可。