当前位置:网站首页>SVN学习
SVN学习
2022-07-17 13:25:00 【冬日追梦少年】
SVN学习
SVN介绍
Subversion的简称,是一个开源的版本控制系统,采用了分支管理系统。
基本概念
- repository(源代码库): 源代码统一存放的地方,北汇Redmine中每一个项目都是一个单独仓库
- checkout(提取): 从repository中拉取代码到本地commit(提交): 修改完代码后,需要commit到repository
- update(更新): checkout源码后,如果在过程中有其他人变更代码,需要update最新的代码
工作流程
创建版本库redmine项目新建后自动创建
检出mkdir –p /work/projectssvn co http://svn.polelink.com/repos/xxx
更新
执行变更
复查变化
修复错误
解决冲突
提交更改

检出项目
svn co http://svn.polelink.com/repos/xxx
项目状态
svn st (后面可以加具体路径)svn st –q: 只显示本地有更改的,并且在仓库中存在的,新增的文件不会显示,未变更的也不显示

A: 新增,当创建新文件后,执行svn add xxx后显示为A, 否则显示为 ?
C: 冲突,本地修改后与仓库中的有冲突
D: 删除,执行svn del xxx后显示为D
M: 本地已变更
?: 未纳入版本控制,即仓库中没有此文件或目录
!: 遗失,未执行svn del, 直接将文件或目录在文件系统中删除
L: 锁定,执行操作断网或强行中止等情况下会出现,或svn lock命令后出现
I: 忽略
R: 替换
X:未纳入版本控制的目录,被外部引用的目录所创建
SVN常用命令
代码检出 checkout
- 这个命令会把 SVN 服务器上的代码下载到我们电脑上,checkout 也可以简写为 co
svn checkout svn://svnbucket.com/xxx/xxx
# 指定存储目录
svn checkout svn://svnbucket.com/xxx/xxx save-dir
# 指定用户名密码。
svn checkout svn://svnbucket.com/xxx/xxx --username xxxx --password xxx
提交代码 commit
- 此命令可以把我们本地的修改提交到 SVN 服务器,这样其他同事就能更新到我们的代码了。
commit 可以简写为 ci,-m 参数后面跟的是本次提交的描述内容
# 描述是必须的,但是可以填写空字符串,不指定
svn commit -m "提交描述"
# 只提交指定文件或目录
svn commit /path/to/file-or-dir -m "提交指定文件"
# 指定后缀的所有文件
svn commit *.js -m "提交所有 js 文件"
更新代码 update
- 执行此命令后会把其他人提交的代码从 SVN 服务器更新到我们自己电脑上,update 也可以简写为 up
# 更新到最新
svn update
# 更新到指定版本的代码。特别是最新版本代码有问题时,我们可以用这个命令回到之前的版本
svn update -r xxx
# 仅更新指定文件或者目录
svn up /path/to/file-or-dir
添加文件 add
- 新建的文件,我们需要用 add 命令把它们加入 SVN 的版本管理,然后我们才可以提交它。
注意:添加后还需要进行提交喔。
# 添加指定文件或目录
svn add /path/to/file-or-dir
# 添加当前目录下所有 php 文件
svn add *.php
删除文件 delete
- 此命令会从 SVN 移除版本控制,移除后你需要提交一下
svn delete /path/to/file-or-dir
# 删除版本控制,但是本地依旧保留文件
svn delete /path/to/file-or-dir --keep-local
查看日志 log
# 查看当前目录的日志
svn log
# 查看指定文件或目录的提交日志
svn log /path/to/file-or-dir
# 查看日志,并且输出变动的文件列表
svn log -v
# 限定只输出最新的 5 条日志
svn log -l 5
查看变动 diff
# 查看当前工作区的改动
svn diff
# 查看指定文件或目录的改动
svn diff /path/to/file-or-dir
# 本地文件跟指定版本号比较差异
svn diff /path/to/file-or-dir -r xxx
# 指定版本号比较差异
svn diff /path/to/file-or-dir -r 1:2
撤销修改 revert
# 撤销文件的本地修改
svn revert test.php
# 递归撤销目录中的本地修改
svn revert -R /path/to/dir
边栏推荐
- OpenCV编程:OpenCV3.X训练自己的分类器
- Connected graph (union search set)
- High number__ Relationship between equation and function
- Virtual CPU and memory in yarn (CDH)
- [design process] Net ORM FreeSQL wheredynamicfilter dynamic table query function
- SAP S4 Material Management 库存模块 MARD 数据库表读取技术细节介绍
- MFC | self drawn CEdit control under the framework
- VScode+Unity3D的配置
- 从预测到决策,九章云极DataCanvas推出YLearn因果学习开源项目
- If you use mybatics to access Damon database, is it exactly the same? Because the SQL syntax has not changed. Right?
猜你喜欢

37. Flex layout

Establishment of redis cluster, one master, two slave and three Sentinels

腾讯云服务器利用镜像部署WordPress个人网站!

分类任务中的类别不平衡问题

Pytoch learning record 2 linear regression (tensor, variable)

LeetCode 2335. Minimum total time required to fill the cup

Bidirectional NAT Technology

unity3d如何利用asset store下载一些有用的资源包

Domestic flagship mobile phones have a serious price foam, and second-hand phones are more cost-effective than new ones, or buy iPhones

JSP based novel writing and creation website
随机推荐
OpenCV编程:OpenCV3.X训练自己的分类器
华为防火墙认证技术
ENVI_IDL:使用反距离权重法选取最近n个点插值(底层实现)并输出为Geotiff格式(效果等价于Arcgis中反距离权重插值)
Domestic flagship mobile phones have a serious price foam, and second-hand phones are more cost-effective than new ones, or buy iPhones
Mobile keyboard (simulation question)
破案了卧槽---从MQ消费的逻辑怎么改代码都不生效
二分类学习推广到多分类学习
TS解决引入插件的类型文件不存在的问题
读已提交级别下 注解事务+分布式锁结合引起的事故--活动购买机会的错乱
Pytorch手动实现多层感知机
[PostgreSQL] PostgreSQL 15 optimizes distinct
线程池原理
The use and Simulation of stack and queue in STL
[design process] Net ORM FreeSQL wheredynamicfilter dynamic table query function
LeetCode 2325. 解密消息(map)
Know what it is, and know why, JS object creation and inheritance
Openfoam heat flow boundary condition
unity3d如何利用asset store下载一些有用的资源包
Takeout ordering system based on wechat applet
Design and Simulation of intelligent storage cabinet control system