svn的常规使用
svn的常规使用
svn的常规使用
1 客户端
- 下载地址:官网,中文简体语言包在其下方

分别安装客户端可语言包,在安装语言包的时候勾选应用,svn便可变成中文了,或者在svn中setting的language中选择中文即可
2.在想要检查项目的文件夹中,鼠标右键-》检出-》输入url,用户名,密码,即可
2 svn server

- 新建项目
此电脑-》管理-》服务和应用程序







3 qt使用svn





4 svn项目迁移
即:将svn管理的源码从一台服务器转移到另一台服务器,确保svn的log日志不丢失,开发人员只需要将svn地址relocate到新服务器即可。
操作步骤如下:
注意,不要用powershell操作,会出现未知的问题,就用cmd执行以下操作就行
在原 SVN 服务器上找到 VisualSVN Server 的安装目录下的 bin 文件夹,在命令行中切换至该路径。
在命令行中输入svnadmin dump D:\Repositories\test > D:\svnback\test.dump 其中 D:\Repositories 为原 svn 项目源码的存放路径,D:\svnback 为你将要导出到的目标文件夹,test 为项目名称。
将导出的 .dump 文件拷贝到新服务器上,例如文件夹 F:\svnback
在新服务器上打开 VisualSVN Server Manager,创建该项目(创建一个空项目)
在新服务器上找到 VisualSVN Server 的安装目录下的 bin 文件夹,在命令行中切换至该路径
在命令行中输入 svnadmin load C:\Repositories\test < F:\svnback\test.dump 其中 C:\Repositories 为目标 svn 项目源码的存放路径,F:\svnback\test.dump 为之前导出的文件
Ubuntu上使用svn
1 安装
检查是否已安装
svnserve --version
更新软件
sudo apt-get update
删除SVN遗留文件
sudo apt-get remove --purge subversion
安装
sudo apt-get install subversion
查看安装版本
sudo svnserve --version
2 使用
检出:
svn co https://192.168.1.xx/svn/xxx
增加:
cd xxx
然后执行批量添加
svn st | grep '^\?' | tr '^\?' ' ' | sed 's/[ ]*//' | sed 's/[ ]/\\ /g' | xargs svn add
摘自《卓有成效的程序员》
当你想添加所有文件时,会报出一些错误,例如 “svn: E200009: 因为一些目标已经版本化,所以不能增加全部目标”,而上面那一行简单的bash命令就可以完成批量添加。
svn st:获取当前目录以及子目录中所有文件的Subversion状态,每一文件一行,尚未加入版本控制的新文件会以一个问号?开头,随后是一个tab,最后是文件名。
grep ‘^?’:找出所有以”?”开头的行。
tr ‘^?’ ’ ':把”?”替换成空格(tr命令会把一个字符转换成另一个字符)。
sed ‘s/[ ]*//’:用sed(基于流的编辑器)把每行开头的空格去掉。
sed ‘s/[ ]/\ /g’:文件名内部也可能包含空格,所以再次动用sed,把文件名中的空格替换转义字符。(加 “\”)
xargs svn add:针对前面的结果,逐一调用svn add。
补充一个,未验证的svn st | awk ‘{if ( $1 == “?”) { print $2}}’ | xargs svn add
提交:
svn ci -m “log” xxx
更新:
svn up 文件名
查看文件或者目录状态
svn status path(目录下的文件和子目录的状态,正常状态不显示)
svn status -v path(显示文件和子目录状态)
简写:
svn st
版本库中删除的文件
svn delete path -m file
或使用
svn delete path file --force 可以删除刚刚添加但是没有commit的文件。
简写:
svn (del, remove, rm)
提交报错:svn: E145001: Entry ‘/home/work/xRobotCarSVN/ground/openpilotgcs/src/libs/flir/lib/linux64/ ’ has unexpectedly changed special status
svn rm /home/work/xRobotCarSVN/ground/openpilotgcs/src/libs/flir/lib/linux64/
如再报错:svn: ‘home/work/xRobotCarSVN/ground/openpilotgcs/src/libs/flir/lib/linux64/’ is in the way of the resource actually under version control
强制删除:
svn rm --force /home/work/xRobotCarSVN/ground/openpilotgcs/src/libs/flir/lib/linux64/
更新到某个版本
svn update -r m path
简写:
svn up
查看日志
svn log path
svn log -l 20 //输出最近20条信息
svn log -q //只输出版本号、时间、作者 而不输出日志
svn log --xml //让日志以xml形式输出,可二次利用
查看文件详细信息
svn info path
比较差异
svn diff path(将修改的文件与基础版本比较)
svn diff -r m:n path(对版本m和版本n比较差异)
简写:
svn di
将两个版本之间的差异合并到当前文件
svn merge -r m:n path
SVN获取url信息
svn info | grep URL
svn info
SVN 帮助
svn help
svn help ci
svn的常规使用的更多相关文章
- Centos下SVN环境部署记录
大多数情况下,我们日常工作中用的版本控制系统都会选择分布式的Git,它相比于集中式的SVN有很多优势.但是有些项目软件基于自身限制,可能只支持SVN做工程同步.废话就不多说了,下面记录下SVN的部署和 ...
- svn 提交代码 自动过滤技巧
操作 在用svn管理版本时,有时希望在提交到服务器时,能过滤掉指定后缀名的所有文件,或指定名称的文件夹.文件名. 常见的文件夹名称和文件名如下: bin obj debug temppe *.suo ...
- svn 提交代码 自动过滤技巧,自动过滤不想提交的文件和文件夹
原文:http://www.cnblogs.com/codealone/p/3208620.html 打开SVN客户端-----常规设置------全局忽略样式,添加 bin obj debug Re ...
- Git 的深入理解与GitHub托管服务(转)
源代码管理系统(SCM)与版本控制 版本控制是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统. 本地版本控制系统 许多人习惯用复制整个项目目录的方式来保存不同的版本,或许还会 ...
- git入门知识了解
文章转自:http://www.cnblogs.com/cocowool/archive/2012/02/17/2356125.html 源代码管理系统(SCM)与版本控制 版本控制是一种记录若干 ...
- Git的深入理解与GitHub托管服务的使用
[转自] http://www.cnblogs.com/cocowool/archive/2012/02/17/2356125.html 源代码管理系统(SCM)与版本控制 版本控制是一种记录若干文件 ...
- subversion(SVN)常规使用
语法: svn <subcommand> [options] [args] 使用“svn help <subcommand>” 显示子命令的帮助信息. 使用 ...
- [No000098]SVN学习笔记5-分支,合并,属性,补丁,锁,分支图
行结束符和空白选项 在项目的生命周期中,有时可能会将行结束符由 CRLF 改为 LF,或者修改一段代码的缩进.不幸的是这样将会使大量的代码行被标记为已修改,尽管代码本身并没有被修改.这里列出的选项将会 ...
- [No000081]SVN学习笔记1-服务端搭建
目录 一:SVN服务器搭建和使用. 1.首先来下载和搭建SVN服务器,地址http://subversion.apache.org/packages.html 2.安装完成后,启动VisualSVN ...
- eclipse中搭建svn开发管理环境
1.准备好资源 subversive,若是离线安装,已为大家准备好:http://pan.baidu.com/s/1hrbXH9y(本人喜欢离线安装,在线安装就不在此说了,其实只要一种方法简单的方法能 ...
随机推荐
- 10/28-29_String类_SrtingBuffer类_Interger类_笔记
API:应用程序编程接口 String功能 public String replace (char oldchar ,char newchar); //符串中某一字符被一新字符替换 public St ...
- 防缓存穿透利器-布隆滤器(BloomFilter)
布隆过滤器 1.布隆过滤器原理 1.1 什么是布隆过滤器 1.2 使用场景 1.3 原理 1.4 布隆过滤器的优缺点 2.实现方式 2.1 初始化skuId的布隆过滤器 2.1.1 RedisCons ...
- linux 脚本:iptables-nat.sh
#!/bin/bash # 2022.2.28 by dewan # DNAT configuration. iptables -t nat -F PUB_IFACE="enp125s0f0 ...
- 关于zbar
python3不支持zbar,可以使用pyzbar python2支持zbar
- DHorse v1.3.0 发布,基于k8s的发布平台
综述 DHorse是一个简单易用.以应用为中心的云原生DevOps系统,具有持续集成.持续部署.微服务治理等功能,无需安装依赖Docker.Maven.Node等环境即可发布Java.Vue.Reac ...
- servlet系列:简介和基本使用以及工作流程
目录 一.简介 二.Servlet实现 三.基本使用 1.引入pom依赖 2.实现Servlet规范,重写service方法 3.配置web.xml 4.配置Tomcat 6.运行 四.Servlet ...
- 0×03 Vulnhub 靶机渗透总结之 KIOPTRIX: LEVEL 1.2 (#3) SQL注入+sudo提权
0×03 Vulnhub 靶机渗透总结之 KIOPTRIX: LEVEL 1.2 (#3) 系列专栏:Vulnhub靶机渗透系列 欢迎大佬:点赞️收藏关注 首发时间: 2023年8月22日 如有错误 ...
- Linux 主机磁盘繁忙度监控实战shell脚本
Linux 磁盘繁忙度是指磁盘的使用率和活动水平.可以通过一些工具来监测磁盘繁忙度,如 iostat.iotop.sar 等. 其中,iostat 是一个常用的工具,可以提供关于磁盘活动的详细统计信息 ...
- Python+Flask设置接口开机自启动
Windows系统适用 创建一个批处理文件(例如 start_flask_api.bat),内容如下: @echo off cd /d C:\path\to\your\flask\app //你要启动 ...
- Codeforces Round #576 (Div. 2)
A - City Day 题意:给n,x,y和数组a[n],求最小的下标d,使得有a[d-x,d-x+1,--d-1,d+1,d-1,d+1,--d+y-1,d+y]都比a[d]小,若d-x<= ...