在团队开发的过程中,通常有如下需求:协同修改、数据备份、版本管理、权限控制、历史记录等,因此有了版本控制的思想。 版本控制 指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一。 版本控制工具 对版本控制思想的具体实现,版本控制工具可以分为集中式、分布式两种。 由于将入职的公司使用 SVN 较多,所以在这具体地学习一下。 SVN SVN 全称 Subversion,采用 C/S 结构设计,常用的操作如下: 为了学习演示客户端的操作,先在云服务器上搭建自己的 SVN 版本库。 yum install -y subversion svn –version mkdir /usr/local/svn/repository -p // 创建版本库目录 cd /usr/local/svn/repository mkdir mypro //在版本库目录下创建具体项目目录 svnadmin create mypro/ //真正创建 SVN 版本库 创建完项目的版本库后,版本库中有以下默认内容: vim /etc/sysconfig/svnserve //修改 SVN 默认根目录 systemctl enable svnserve.service //设置开机启动 systemctl start svnserve.service //启动 SVN 服务 ps aux | grep svn //检查是否启动成功 注: SVN 默认使用 3690 端口,云服务器需要开放相应端口。 命令行的操作,可以创建两个工作区来模拟两个开发人员: 开发人员检出项目 svn checkout svn://ip.ip.ip.ip/mypro ./ //检出版本库中所有内容 harry、sally 分别执行以上命令,目录下会自动创建 .svn 目录: 修改版本库的url: svn sw –relocate svn://old_ip/目录 svn://new_ip/目录 SVN 要求提交一个新建的文件前需要先把它添加到版本控制体系(区别于版本库)中: svn add xxx 在 harry 下创建 hello.txt 文件,并添加到版本控制体系中: 提交之前,需要设置版本库的权限,在 …/mypro/conf 下的 svnserve.conf 文件中进行配置,下图开启匿名的写权限: 之后可以提交 harry 创建的文件,由下图可知上传成功,且当前版本为1: svn commit xxx -m “描述” 在服务端就可以看到我们提交的文件: svn list svn://ip.ip.ip.ip/mypro 前面 harry 用户提交了文件,对服务端的版本库产生了修改,而 sally 用户检出的版本还是上一个版本,这时 sally 用户就可以进行更新的操作: svn update [文件名] // []表示可选 过时文件:开发人员本地的版本相对服务器端版本来说是旧的版本,在旧的版本上进行了修改。 产生冲突的条件: 制造冲突: 在命令行我们可以制造冲突。 这时我们先提交 sally 修改后的 hello.txt: 此时,harry 本地的版本是落后于服务端的,harry 在提交时就会提醒本地文件已经过时: 然后我们执行更新操作,这时候就产生了冲突,我们先选择 p 推迟: 冲突表现 文件内: 目录内(r后面的数字表示版本号): 手动解决 半自动解决 设置 SVN_EDITOR 环境变量 which vim //获取 vim 的路径 vim /etc/profile //编辑 profile 文件 //在文件下面加入: export SVN_EDITOR= vim 的路径 source /etc/profile 系统重新加载 profile 在 svn 给我们的选择中,选择 e 进行编辑 编辑满意后,选择 r 选项标记此冲突已解决(解决后得再次提交)概述
Linux下的安装和使用
服务器端安装
命令行操作
检出
添加
提交
更新
冲突与解决
冲突的产生
冲突的解决
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算