SVN介绍与基本使用

SVN介绍与基本使用

  1. 什么是svn?
  2. svn是用来做什么的?
  3. svn常用命令
  4. SVN 常用命令一览表

1.什么是svn?

SVN是Subversion的简称,是一个自由开源的版本控制系统。

Subversion将文件存放在中心版本库里,这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况,这样就可以借此将数据恢复到以前的版本,并可以查看数据的更改细节

早期版本控制使用的是CVS,后来SVN替代了CVS,随着android兴起,出现Git版本控制工具

2.svn是用来做什么的?

代码版本管理的工具,即把代码提交到服务器,可回退历史版本,总结起来有以下几点功能:

  1. 把自己编写代码提交至服务器。每提交一次会产生一个版本,如果在实际过程中写错了可查看历史版本
  2. 回退历史版本功能;
  3. 协同修改。实际开发中不止一个人在开发,如果多人开发不可能进行通过文件整理来合并代码,如同第1点的每个人都可以提交交代码,SVN服务器会自动合并代码
  4. 多版本项目文件管理。如代码可以分开前端和后端两个分支。
  5. 可以追溯编提交时间和提交人的代码,比如多人修改了同一个地方的代码,可以查看是谁修改了什么代码
  6. 权限控制,可以把部分代码给不同的开发者,以免一个人把整个项目的代码都获取完,保证代码的安全性。
  7. 代码仓库,每来一个新的职员提交链接就可以下载代码

3.svn常用命令

  1. 将文件checkout到本地目录

    svn checkout path (path是服务器上的目录)
    
  2. 往版本库中添加新的文件

    svn add file
    
  3. 将改动的文件提交到版本库

    svn commit -m “LogMessage” [-N] [--no-unlock] PATH (如果选择了保持锁,就使用–no-unlock开关)
    简写: svn ci
    
  4. 更新到某个版本

    svn update -r m path
    简写: svn up
    
  5. 看文件或者目录状态

    1)svn status path(目录下的文件和子目录的状态,正常状态不显示)
    2)svn status -v path(显示文件和子目录状态)
    简写:svn st
    
  6. 删除文件

    svn delete path -m “delete test fle”
    简写:svn (del, remove, rm)
    
  7. 查看日志

    svn log path
    
  8. 查看文件详情差异

    svn info path
    
  9. 比较差异

    svn diff path(将修改的文件与基础版本比较)
    svn diff -r m:n path(对版本m和版本n比较差异)
    简写:svn di
    
  10. 将两个版本之间的差异合并到当前文件

    svn merge -r m:n path
    
  11. SVN 帮助

    svn help
    svn help ci
    

4.SVN 常用命令一览表

命令功能使用格式
cheneck检出svn co URL
up更新到当前URL的末端svn up
switch更新到某一tag/branchsvn switch (tag/分支)URL
add增加svn add 文件名
rm删除文件svn rm 文件名
删除目录svn rm 目录名
diff与base版本(最后检出或者更新到的版本)对比svn diff
与版本库中最新版本对比svn diff -r head
当前工作副本,两个版本之间对比svn diff -r reversion1:reversion2
版本库中任意两个tag做对比svn diff (tag1)URL (tag2)URL
ci提交svn ci -m "commit log"
log查看当前工作副本logsvn log
只查看指定版本的logsvn log -r
打印log所有附加信息svn log -v
查看当前tag/branch版本详情svn log --stop-on-copy -v
info查看当前工作副本所在URLsvn info
status查看工作副本的状态svn st
查看文件的taglistsvn命令不支持,可执行cs taglist
tag新增tagsvn cp . (tag)URL
删除tagsvn rm (tag)URL -m "commit log"
覆盖已存在的tag不支持
branch创建分支svn cp (基线版本)URL (分支)URL -m "commit log"L
删除分支svn rm (分支)URL -m "commit log"
同步分支svn co (主干)URL
cd ~/wc
svn merge (主干)URL (待同步tag)URL
svn ci -m "commit log"
svn cp (主干)URL (以_PD_BL_MAIN结尾的tag)URL -m"commit log"
合并分支svn co (合并目标)URL
cd ~/wc
svn merge (基线版本tag)URL (上线tag)URL
svn ci -m "commit log"
svn cp (合并目标)URL (上线tag_MERGE_的tag对应)URL -m"commit log"
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值