Linux下版本控制器(SVN) -命令行客户端

news2024/11/18 14:24:59

在这里插入图片描述

文章目录

  • 进阶知识-Linux下版本控制器(SVN)
    • 5、命令行客户端
      • 5.1 创建两个工作区目录模拟两个开发人员
      • 5.2 检出
      • 5.3 添加
      • 5.4 提交
      • 5.5 查看服务器端文件内容
      • 5.6 更新操作
      • 5.7 冲突
        • 5.7.1 过时的文件
        • 5.7.2 冲突的产生
        • 5.7.3 冲突的表现
        • 5.7.4 冲突的手动解决
        • 5.7.5 冲突的半自动解决
        • 5.7.6 减少冲突的发生
  • 本人其他相关文章链接

进阶知识-Linux下版本控制器(SVN)

5、命令行客户端

5.1 创建两个工作区目录模拟两个开发人员

mkdir -p /root/workspace/harry
mkdir -p /root/workspace/sally

5.2 检出

  • 作用:完整下载版本库中的全部内容。

  • 命令:

    svn checkout svn://192.168.70.140/pro_oa ./
    
  • 附加效果

    • 在指定目录下创建.svn目录
    • 保存本地目录和文件状态信息,用来和SVN服务器进行交互
  • 工作副本

    • .svn所在的目录
    • 版本控制相关操作都需要在工作副本目录下执行。例如:提交、更新等等这样的操作。
    • 为了保证工作副本能够正常和服务器进行交互,请不要删除或修改.svn目

录中的内容。

5.3 添加

  • SVN要求提交一个新建的文件前先把这个文件添加到版本控制体系中。

    svn add文件名
    

5.4 提交

  • 要求1:附加日志信息

    • 日志信息相当于写Java代码时的注释,用来标记本次操作所做的修改。
    svn commit -m "xxx" [文件名]
    
  • 要求2:必须具备相应的权限

    • 使用文本编辑器打开版本库根目录/conf/svnserve.conf文件

    在这里插入图片描述

[root@rich harry]# svn commit hello.txt
svn:提交失败(细节如下):svn:“/root/workspace/harry/hello.txt”尚未纳入版本控制
[root@rich harry]# svn add hello.txt
A hello.txt
[root@rich harry]# svn commit hello.txt
svn:提交失败(细节如下):
svn:无法使用外部编辑器获得日志信息;考虑设置环境变量 $SVN_EDITOR,或者使用--message (-m)或 --file (-F)选项
svn:没有设置 SVN_EDITOR,VISUAL或 EDITOR环境变量,运行时的配置参数中也没有“editor-cmd”选项
[root@rich harry]# svn commit -m "My first commit" hello.txt
svn:提交失败(细节如下):
svn:认证失败
[root@rich harry]# svn commit -m "My first commit" hello.txt
增加 hello.txt
传输文件数据.
提交后的版本为 1。

5.5 查看服务器端文件内容

[root@rich harry]# svn list svn://192.168.70.140/pro_oa
good.log
hello.txt

5.6 更新操作

  • 作用:把服务器端文件所产生的所有修改下载到本地
命令:svn update [文件名]

5.7 冲突

5.7.1 过时的文件

  • 概念:在一个相对服务器端版本来说是旧版本的基础上进行了修改的文件。

  • 要求:所有过时的文件都必须先执行更新操作,更新后在最新版基础上修改的

文件才允许提交。

5.7.2 冲突的产生

  • 条件1:本地当前编辑的文件已经过时。

  • 条件2:从服务器端更新下来的修改和本地的修改在“同文件同位置”不一致。

5.7.3 冲突的表现

  • 文件内

在这里插入图片描述

  • 目录内

在这里插入图片描述

xxx.mine文件:发生冲突时本地文件内容
xxx.r[小版本号]文件:发生冲突前文件内容
xxx.r[大版本号]文件:发生冲突时服务器端文件内容

5.7.4 冲突的手动解决

  • 第一步:删除冲突发生时产生的三个多余文件

  • 第二步:删除冲突文件内多余的符号

  • 第三步:把文件编辑到满意的状态

  • 第四步:提交

5.7.5 冲突的半自动解决

  • 设置SVN_EDITOR环境变量

在这里插入图片描述

vim /etc/profile
-------------------------------------------
SVN_EDITOR=/usr/bin/vim
export SVN_EDITOR
-------------------------------------------
source /etc/profileecho $SVN_EDITOR
  • 解决的过程

    • 使用e选项进入文件内容编辑界面

      在这里插入图片描述

    • 进入vim编辑器编辑文件内容

      在这里插入图片描述

    • 编辑完成后使用r选项标记为已解决

      在这里插入图片描述

5.7.6 减少冲突的发生

  • 尽可能在修改文件前先进行更新操作,尽量在最新版基础上修改文件内容。

  • 尽量减少多人修改同一个文件的可能性。

  • 加强团队成员之间的沟通。

本人其他相关文章链接

1.Linux下版本控制器(SVN) -服务器端环境搭建步骤
2.Linux下版本控制器(SVN) -命令行客户端

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/455316.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ERTEC200P-2 PROFINET设备完全开发手册(10)

10. 固化程序 固件在SPI Flash的结构 由于绝大多数的设计都是使用SPI Flash,因此这里只介绍SPI Flash的烧写。ERTEC200P-2的固件在SPI Flash中的Layout如下图所示: 其中ROM Header:格式如下图所示: Firmware Binary: 协议栈固件…

【TypeScript】TS中type和interface在类型声明时的区别

🐱 个人主页:不叫猫先生 🙋‍♂️ 作者简介:2022年度博客之星前端领域TOP 2,前端领域优质作者、阿里云专家博主,专注于前端各领域技术,共同学习共同进步,一起加油呀! 💫优质专栏:vue3从入门到精通、TypeScript从入门到实践 📢 资料领取:前端进阶资料可以找我免…

RxJava中DISPOSED状态的被观察者任务执行onError/onSuccess导致的崩溃问题

RxJava中写了doOnError但还是导致应用崩溃问题记录 一、问题背景1.1 崩溃堆栈1.2 写demo代码复现相同逻辑 二、问题等价还原-复现2.1 代码位置:io.reactivex.internal.operators.single.SingleCreate.Emitter#onError 三、修复方法3.1 方案一:设置全局的…

springboot +flowable,处理 flowable 的用户和用户组(二)

一.简介 对于flowable是什么以及关于此框架的具体信息可以参看此项目的官方文档:https://www.flowable.org/docs/userguide/index.html Flowable is a light-weight business process engine written in Java.这是官网文档对此框架的完美解释:Flowable…

4·26世界知识产权日,Adobe助力认知和解决知识产权的那些事

2023年是中国与世界知识产权组织(WIPO)合作50周年,在第23个世界知识产权日来临之际(每年4月26日定为世界知识产权日),让我们先来了解一下知识产权的相关知识吧! ①“知识产权”的定义是什么? 知识产权是指…

FVM初启,Filecoin生态爆发着力点在哪?

Filecoin 小高潮 2023年初,Filecoin发文分享了今年的三项重大变更,分别是FVM、数据计算和检索市场的更新,这些更新消息在发布后迅速吸引了市场的广泛关注。 特别是在3月14日,Filecoin正式推出了FVM,这一变革使得File…

对比度亮度调整与通道分离合并

对比度亮度调整与通道分离合并 对比度亮度调整: 1)原理介绍: g’ g * Mult Add ⚫ g 表示原图像像素 ⚫ g’ 表示输出图像像素 ⚫ Mult 被称为增益(gain), 通常用来控制图像的对比度 ⚫ Add 通常被称为偏置(bias), 通常用来控制图像的亮度 g’(i,j) Mult * g(i,j) Add …

九龙证券|两日连涨,猪价或见底!二季度末生猪养殖有望扭亏为盈

猪肉产品质量和价格涨跌备受商场重视。 猪肉指数接连下行 4月20日,A股大盘全天弱势。猪肉指数继续下行,收跌0.65%。成份股中,仅新五丰、温氏股份等上涨,大多个股录得跌落。天域生态跌4.46%,海大集团、禾丰股份跌逾3%。…

Ubuntu 20.04 安装 Latex 并使用 vscode 作为文本编辑器

Ubuntu 20.04 安装 Latex 并使用 vscode 作为文本编辑器 1 Texlive 下载与安装1.1 镜像文件下载1.2 安装步骤1.3 查看是否安装成功1.4 相关依赖安装 2 安装 windows 字体3 vscode 编辑与编译环境配置3.1 vscode 安装3.2 编辑相关插件安装3.3 编译环境配置附录: 因为…

【Redis】Redis持久化

介绍 ​ Redis是一个内存数据库,数据保存在内存中,但是我们都知道内存的数据变化是很快的,也容易发生丢失。Redis提供了持久化的机制,分别是RDB(Redis DataBase)和AOF(Append Only File)。 ​ 既然redis的数据可以保存在磁盘上&…

STL : 栈 stack 与 队列 queue

Stack #include<stack> using namespace std; 栈&#xff1a;LIFO&#xff0c;先进后出&#xff1b; 不允许遍历&#xff0c;仅仅一个出口&#xff0c;只有栈顶元素可被访问到。 Member functions NameRoleNotice&#xff08;constructor&#xff09;基本构造函数指…

ChatGLM-6B 中文对话模型复现、调用模块、微调及部署实现(更新中)

ChatGLM-6B-PT 一、前言 近期&#xff0c;清华开源了其中文对话大模型的小参数量版本 ChatGLM-6B&#xff08;GitHub地址&#xff1a;https://github.com/THUDM/ChatGLM-6B&#xff09;。其不仅可以单卡部署在个人电脑上&#xff0c;甚至 INT4 量化还可以最低部署到 6G 显存的…

从零开始写一个 即时通讯程序

即时通信&#xff08;IM&#xff09;是指能够即时发送和接收互联网消息等的业务。自1998年面世以来&#xff0c;特别是近几年的迅速发展&#xff0c;即时通信的功能日益丰富&#xff0c;逐渐集成了电子邮件、博客、音乐、电视、游戏和搜索等多种功能。即时通信不再是一个单纯的…

谁说不能用中文写代码?

入门教程、案例源码、学习资料、读者群 请访问&#xff1a; python666.cn 大家好&#xff0c;欢迎来到 Crossin的编程教室 &#xff01; 现代计算机和编程的起源和推动力量主要源自美国&#xff0c;再加上26个字母很便于表示&#xff08;算上大小写&#xff0c;6位bit就够了&am…

32岁阿里P7,把简历改成不知名小公司,学历改成普通本科,工作内容不变,投简历全挂!...

hr靠什么来招人&#xff1f; 一位猎头讲述了自己和朋友打赌的故事&#xff1a; 朋友在阿里云&#xff0c;32岁&#xff0c;P7&#xff0c;他把简历上的公司改成不知名&#xff0c;学历改成普通本科&#xff0c;工作内容不变&#xff0c;结果投其他公司&#xff08;比如京东&…

ThinkPHP6之数据库操作下

ThinkPHP6之数据库操作下 前言一&#xff0c;查询表达式1.1 where1.2table和name1.3field1.4limit1.5page1.6 order 二&#xff0c; 聚合查询三&#xff0c;分页查询总结 前言 数据库操作除了增&#xff0c;删&#xff0c;查&#xff0c;改&#xff0c;这四个基本操作外&#x…

【C++】二叉搜索树(概念、实现、应用以及OJ题详解)

前言&#xff1a; 此前我们在C语言实现数据结构的时候学习过二叉树&#xff0c;但是那个时候我们没有深入学习二叉搜索树。本章重提二叉树并详解二叉搜索树有下面两个原因&#xff1a; 1、为我们下一章学习set和map做准备&#xff1b;2、详解我们进阶一点的二叉树的面试OJ题&a…

120名顶级技术专家用GPT-4搞出的脑洞发明大赏

文 | 智商掉了一地 黑客松&#xff08;Hackathon&#xff09;是一种聚集程序员、设计师等技术人才&#xff0c;共同在短短几天的时间内合作进行软件开发、解决问题的活动。参与者可分为个人和团队形式参与&#xff0c;他们将利用这段时间内的集中创作和多学科合作&#xff0c;迅…

Java网络编程系列之NIO

Java网络编程系列之NIO 1.Java NIO概述1.1 阻塞IO1.2 非阻塞IO1.3 NIO概述1.3.1 Channels1.3.2 Buffer1.3.3 Selector 2.Java NIO(Channel)2.1Channel概述2.2 Channel实现2.3 FileChannel 介绍与示例2.4 FileChannel 操作详解2.4.1 打开FileChannel2.4.2 从FileChannel读取数据…

带你一步步实现代码开发平台——概述、实现模式、整体框架

概述 低代码开发平台是一种开发工具&#xff0c;它允许用户使用图形界面和少量编码来创建应用程序。这种平台的目的是加快应用程序开发速度&#xff0c;减少开发成本和技能门槛。目前&#xff0c;市场上有许多低代码开发平台可供选择&#xff0c;包括Microsoft Power Apps、Ou…