版本管理(一)SVN

面试中,可能会问及一些关于版本控制的问题,理解SVN和Git的原理,记住常用命令。

SVN

  • SVN是集中式源代码管理工具

概念:

  1. Repository 代码仓库,保存代码的仓库
  2. Server 服务器,保存所有版本的代码仓库
  3. Client 客户端,只保存当前用户的代码仓库
  4. 用户名&密码 访问代码仓库需要使用自己的‘用户名和密码’,区分不同人对代码做的修改

操作:

  1. checkout 将服务器上最新的代码仓库下载到本地,“只在最开始做一次“
  2. update 从服务器上将其他人所做的修改下载到本地,“每天上班必须要做的事情“
  3. commit 将工作可运行代码提交到服务器,“每天下班前至少做一次”
  • SVN常用命令

切换工作目录
$ cd 工作目录
checkout 服务器上的代码仓库
$ svn co http://xxx/svn/xxxx --username=manager --password=manager
查看本地代码库状态
$ svn st
错误提示: "is not a working copy",必须在svn的工作目录下才能正确使用svn的命令
查看svn日志
$ svn log
查看某一个文件的日志
$ svn log filename
查看某一个文件某个版本的日志
$ svn log filename@1
创建文件
$ touch main.c
打开并编写文件内容
$ open main.c
将文件添加到本地版本库中
$ svn add main.c/main.*
将文件提交到服务器的
$ svn ci -m " 备注信息 "
删除文件
$ svn rm Person.h
提交删除
$ svn ci -m "删除了文件 "
撤销修改
$ svn revert Person.m
恢复到之前的某个版本
$ svn update -r 5
冲突解决
(p) postpone 对比
(mc) mine-conflict 使用我的
(tc) theirs-conflict 使用对方的
svn st 显示的文件状态
' ' 没有修改
'A' 被添加到本地代码仓库
'C' 冲突
'D' 被删除
'I' 被忽略
'M' 被修改
'R' 被替换
'X' 外部定义创建的版本目录
'?' 文件没有被添加到本地版本库内
'!' 文件丢失或者不完整(不是通过svn命令删除的文件)
'~' 受控文件被其他文件阻隔

你可能感兴趣的:(版本管理(一)SVN)