svn使用-常用命令教程

本文内容

  • SVN简介
  • SVN中的一些概念
  • 常用指令
    • 将文件checkout到本项目,svn checkout path (path是服务器上的目录)
    • 往版本库中添加新的文件
    • 将改动的文件提交到版本库
    • 更新到某个版本
    • 查看文件或者目录状态
    • 删除文件
    • 查看日志
    • 查看文件详细信息
    • 比较差异
    • 将两个版本之间的差异合并到当前文件
    • svn帮助

SVN简介

  • subversion(SVN)是一个开源的版本控制系统。
  • 在Subversion管理下,文件和目录可以超越时空。Subversion将文件存放在中心版本库里(repository),这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况,这样就可以借此将数据恢复到以前的版本,并可以查看数据的更改细节。

SVN中的一些概念

  • repository,源代码库
    源代码统一存放的地方

  • checkout,提取
    当你手上没有源代码的时候,你需要从repository checkout一份

  • commit,提交
    当你已经修改了代码,你就需要commit到repository

  • update,更新
    当你已经checkout了一份源代码,update一下你就可以和repository上的源代码同步,你手上的代码就会有最新的变更

常用指令

  • 将文件checkout到本项目,svn checkout path (path是服务器上的目录)

例如:

svn checkout svn://192.168.1.1/pro/domain
简写
svn co

  • 往版本库中添加新的文件

syn add file
例如 svn add test.php (添加test.php)
svn add *.php (添加当前目录下所有的php文件)

  • 将改动的文件提交到版本库

svn commit -m “备注信息” -N --no-unlock PATH
(其中必须带上-m),(如果选择了保持锁,就使用-no-unlock开关)
svn commit -m “提交我的测试用test.php” -N --no-unlock test.php
简写:
svn ci

  • 更新到某个版本

svn update -r m path
svn update -r 200 test.php (将版本库中的文件test.php还原到版本200)
svn update test.php (更新,于版本库同步,如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清楚svn resolved,最后再提交commit)
简写 svn up

  • 查看文件或者目录状态

svn status path
目录下的文件和子目录的状态,正常状态不显示
? 不在svn的控制中,M 内容被修改, C 发生冲突, A 预定加入到版本库 K 被锁定

svn status -v path
显示文件和子目录状态
第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。

注: svn status、svn diff 和 svn revert 这三条命令在没有网络的情况下也可以执行的,原因是svn在本地的.svn中保留了本地版本的原始拷贝。

  • 删除文件

svn delete path -m “delete test file”

例如

svn delete svn://192.168.1.1/pro/domain/test.php -m “delete test fike”

或者直接

svn delete test.php
然后再 svn ci -m ‘delete test file’

  • 查看日志

svn log path

例如

svn info test.php

  • 查看文件详细信息

svn info path

例如

svn info test.php

  • 比较差异

svn diff path
将修改的文件与基础班比较

例如

svn diff test.php
svn diff -r m:n path
对版本m和版本n比较差异

例如

svn diff -r 200:201 test.php
svn di

  • 将两个版本之间的差异合并到当前文件

svn merge -r m:n path

例如

svn merge -r 200:205 test.php
将版本200与版本205之间的差异合并到当前文件,但是一般会产生冲突,需要处理一下

  • svn帮助

svn help
svn help ci

你可能感兴趣的:(芯片验证,svn命令,svn版本工具,svn教程)