SVN使用

作者: 宁梓茞 | 来源:发表于2018-01-10 22:34 被阅读0次

.使用 SVN 终端命令 (个人开发)

1.SVN 帮助

svn help 查看全部功能选项

2.初始化项目

例 svn help import 查看怎么导入 输出 import [PATH] URL

[PATH]本地路径 URL 服务器地址

//本地初始化一个项目

//把一个工程导入服务器

svn import 本地路径 服务器地址 -m

//-m 表示上传文件的描述

3.//把服务器的文件夹下载到本地

//本地建一个文件夹 cd 文件夹 进去文件夹的路径,

svn checkout 服务器地址 或 svn checkout URL[@REV]... [PATH]

4.查看修改的文件

首先cd 进入本地文件夹

svn status //查看被修改的文件

5.提交文件

svn commit -m

//例 svn commit -m "abc"

6.添加文件 svn add 需要添加的文件

//例 svn add cha.h cha.m

7.删除文件 svn remove 需要删除的文件

//例 svn remove cha.h cha.m

8.svn log 查看日志

9.更新文件

svn update //后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本

svn update -r 修正版本 文件名

svn update 文件名

10、查看文件详细信息

svn info path

11恢复本地修改

svn revert [--recursive] 文件名

注意: 本子命令不会存取网络,并且会解除冲突的状况。但是它不会恢复被删除的目录。

例子:

svn revert foo.c <- 丢弃对一个文件的修改

svn revert --recursive . <-恢复一整个目录的文件,. 为当前目录

12、新建一个分支copy

svn copy branchA branchB -m "make B branch" // 从branchA拷贝出一个新分支branchB

13、合并内容到分支merge

svn merge branchA branchB // 把对branchA的修改合并到分支branchB

使用 svn 多人开发

1.首先本地新建文件夹

cd 进入文件夹

2.把服务器的文件夹下载到本地

svn checkout 服务器地址 --username=用户名 --password=密码

3.提交文件需要加上--username=用户名

svn commit -m --username=用户名

//例 svn commit -m "abc" --username=用户名

4.其他命令一样

5.解决冲突

.我提交一个修改的文件到服务器,另一个人同时也修改了这个文件,代码没有更新,直接提交,这时因为版本不一样

报错 超时

.另一个人需要先更新代码,但是由于两个人同时修改一个文件会产生冲突,这时会有三种情况

Select: (P) postpone, (df) diff-full, (e) edit //延迟处理

        (mc) mine-conflict, (tc) theirs-conflict //保留我的   ,  保留另外一个人的

        (s)show all options://在这里选这结果

//选择延迟处理本地会出现三个文件

选择同时修改的文件删除<<<<<<< 我的代码 >>>>>>>>>服务器的代码 保留两份代码,两份代码已经合在一起

执行 svn resolved [本地目录全路径]

svn commit -m"解决冲突" --username=用户名

版本回退

1.恢复本地修改

svn revert [--recursive] 文件名

2.服务器代码版本回退

svn merge main.m -r 3:2

//main 要恢复的文件 3:2 当前最新的版本恢复到2版本

3.svn update -r 修正版本 文件名 //这只能修改本地文件版本号,

//要想把服务器文件版本号改变,这是可以提交,此时会产生冲突,利用冲突来修改服务器的代码

svn st 显示的文件状态

' ' 没有修改

'A' 被添加到本地代码仓库

'C' 冲突

'D' 被删除

'I' 被忽略

'M' 被修改

'R' 被替换

'X' 外部定义创建的版本目录

'?' 文件没有被添加到本地版本库内

'!' 文件丢失或者不完整(不是通过svn命令删除的文件)

'~' 受控文件被其他文件阻隔

命令 功能 使用格式
checkout 检出 svn co URL
up 更新到当前URL的末端 svn up
switch 更新到某一tag/branch svn 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 查看当前工作副本 svn log

相关文章

网友评论

      本文标题:SVN使用

      本文链接:https://www.haomeiwen.com/subject/yfuanxtx.html