浅谈SVN (subversion)

本文介绍了SVN (Subversion) 的基本使用,包括Visual SVN Server的下载、客户端命令、检出、提交、添加、删除、更新等操作。还强调了不要修改或删除.svn隐藏目录的重要性,以及版本回退、代码冲突解决和如何确保本地版本与服务器同步。同时提供了大神的简明实用课程链接,帮助深入理解SVN。
摘要由CSDN通过智能技术生成

  • 1.SVN客户端命令:
svn checkout :下载服务器的代码到本地 (简写svn co)
svn commit :将改动的文件提交到服务器(简写svn ci)
svn update :更新服务器的代码到本地 (简写svn up)
svn add :向本地的版本控制库中添加新文件
svn delete、svn remove :从本地的版本控制库中删除文件(简写svn del、svn rm)
svn move :移动文件或者目录或文件更名
svn mkdir :创建纳入版本控制下的新目录
svn revert :撤销之前的一切修改
svn merge :将两个版本之间的差异合并到当前文件
svn info :查看文件的详细信息
svn diff :查看不同版本的区别
svn log :查看日志信息
svn list :列出版本库下的文件和目录列表
svn status :查看文件状态(简写svn st)
svn help :获取帮助信息(比如svn help ci)
svn lock :加锁
svn unlock :解锁
  • 2.检出
将项目检出(下载) 至本地
svn checkout URL  [PATH]
svn co URL  [PATH]
注意:这里的中括号[ ]代表可选(可以省略)

示例
svn checkout  https://192.168.1.106/svn/Weibo/ /Users/Documents/workspace
蓝色代表的是:代码仓库的远程地址
橙色代表的是:将代码下载到本地的哪个路径
如果省略橙色的路径,就下载到命令行当前所在的路径
  • 3.提交
将改动过的文件提交至服务器
svn commit  -m "注释"  [PATH]
svn ci  -m "注释"  [PATH]
注意:一定要养成写注释的良好习惯

示例
svn commit  -m “修改了User.m文件” /Users/Desktop/workspace/Weibo/branches/User.m
橙色代表的是:提交哪个文件到服务器
如果省略橙色的路径,就将命令行所在路径中所有改动过的文件提交到服务器
  • 4.添加
提交一个新建的文件到服务器,需要2个步骤
添加新建的文件到本地的版本控制库中:svn add
提交刚才的添加操作到服务器:svn commit

如果直接提交一个没有添加到本地版本控制库中的文件,会报下面的错误
is not a working copy

向本地的版本控制库中添加一个新文件
svn add PATH

示例
svn add /Users/Desktop/workspace/Weibo/branches/User.m
橙色代表的是:添加哪个文件到版本控制库中
// 查看⽂文件的状态(查看该⽂文件是否在svn的管理之下/该⽂文件是否进⾏行了修改⽽而没 有提交)
:svn status 或 svn st
第1列状态说明:描述文件被添加、删除或其他修改
--------------------------------------------------------------------------------
' ' 没有修改
'A' 被添加到本地代码仓库
'C' 冲突
'D' 被删除
'I' 被忽略
'M' 被修改
'R' 被替换
'X' 外部定义创建的版本目录
'?' 文件没有被添加到本地版本库内
'!' 文件丢失或者不完整(不识别该文件)
'~' 受控文件被其他文件阻隔
  • 5.删除
删除服务器上的某个文件,需要做2个步骤
将文件从本地的版本控制库中移除:svn delete 、svn remove
提交刚才的删除操作到服务器:svn commit

将文件从本地的版本控制库中移除
svn delete PATH

示例
svn delete /Users/Desktop/workspace/Weibo/branches/User.m
橙色代表的是:将哪个文件从版本控制库中移除
  • 6.更新
将服务器的最新代码更新到本地
svn update [PATH]

示例
svn update /Users/lnj/Desktop/workspace/Weibo/branches/User.m
橙色代表的是:更新哪个文件的内容
如果省略橙色的路径,就更新命令行所在路径的所有内容

将文件恢复至某个版本
svn update -r 版本号 [PATH]
  • 7.常见问题总结
去到公司的第一天,下载公司的代码到电脑上
svn checkout

修改了某个早已存在的旧文件,然后提交到服务器
svn commit

提交一个自己新建的文件到服务器
svn add  svn commit

删除一个早已存在的旧文件,然后同步到服务器上
svn delete  svn commit

将其他同事提交的新代码更新到自己电脑上
svn update

不小心写错了很多东西,想撤销所写的东西(还未把修改提交到服务器)
svn revert

不小心删错了文件,想把文件恢复回来(还未把删除提交到服务器)
svn revert

不小心写错了很多东西,想撤销所写的东西(已经把修改提交到服务器)
svn update -r 版本号

不小心删错了文件,想把文件恢复回来(已经把删除提交到服务器)
svn update -r 版本号
  • 8.版本回退问题
// 假如想把当前项目回退到以前某一版本时,可以用以下步骤实现:(实例版本8回退到7)1)svn update -r 7 : 先本地回退到某⼀一个版本,查看代码是否是你想要回退的那个的版本
(2)svn update : 更新到最新的版本
(3)svn merge -r 8:7 回退的⽂文件
注意:如果想将本地的内容提交到服务器,那么必须保证本地的版本不低于服务器的 版本号
  • 9.注意

    • .svn这个隐藏目录记录着非常关键的信息 千万不要手工修改或删除这个 .svn隐藏目录和里面的文件! 否则将会导致本地的工作副本被破坏,无法再进行操作
    • 如果想将本地的内容提交到服务器,那么必须保证本地的版本不低于服务器的 版本号
  • 10.代码冲突问题

// 代码冲突时的报错信息,意义如下:
    out of date : 过期
    df : 在命令⾏行中给展⽰示所有的不同的地⽅方
    e : 在命令⾏行编辑冲突
    s : 展⽰示可解决冲突的选项
    mc : 使⽤用我的代码,来覆盖服务器代码
    tc : 使⽤用服务器的代码,来覆盖我的代码
    p : 对比所有的版本变化,⼿手动解决冲突—>svn resolved 文件名
注意:
    1>在修改公共⽂文件之前,最好先update,然后再修改
    2>在修改公共⽂文件之前,可以和同事说⼀一声,先不要修改⽂文件,修改完之后让同事更 新
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值