SVN学习

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
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值