SVN常用命令整理

经常用Git, 偶然碰到SVN管理的项目,往往又需要从头熟悉一遍SVN的命令,特记录下常用的SVN命令。

注:以下记录基于macOs自带svn命令。
一、svn管理项目开发。
0、安装svn colordiff。
工欲善其事必先利其器,命令行下的colordiff是非常有必要的

brew install colordiff
svn diff | colordiff 出现色彩

或者修改配置, 直接使用svn diff

echo 'diff-cmd = colordiff' >> ~/.subversion/config 

当然设置别名也行

1、从svn服务器上检出代码到本地。

svn checkout https://svn1.intra.niliu.com/subcode/niliu/trunk ~/svn/project

以上命令会提示输入用户名和密码,也可安装如下方式之间指定

svn checkout https://svn1.intra.niliu.com/subcode/niliu/trunk --username=salmonl --password=salmonl ~/svn/project

2、新建分支。

svn copy -m 'new branch' https://svn1.intra.niliu.com/subcode/niliu/trunk https://svn1.intra.niliu.com/subcode/niliu/branches/feature_user_20181223

3、查看文件状态。

svn st

4、添加新文件。

svn add filename

5、提交新文件。
提交单个文件

svn ci -m 'msg' filename1 filename2

提交目录下全部文件

svn ci -m 'msg' dir/*

6、跟新文件。

svn up

7、查看最近5次提交log。

svn log -l 5

8、查看svn目录信息

svn info

9、删除远程分支。

svn rm https://svn1.intra.niliu.com/subcode/niliu/branches/feature_user_20181223

10、查看手册。

svn -h

11、svn删除已提交文件命令

svn delete info.log
svn ci -m 'del info.log'
# 一条命令不行 svn delete info.log -m 'del info.log'

二、svn管理项目上线
0、本地单独checkout trunk
1、合并开发分支branch到trunk

cd ~/trunk
svn merge https://svn1.intra.niliu.com/subcode/niliu/branches/feature_user_20181223

注意:有冲突就选择p稍后处理
2、svn st 查看不同,挨个review 代码,修改的文件svn diff 查看不同,新增文件vim打开看
3、处理冲突文件,删除多余文件,svn resolve
4、对于不需要修改的文件, 通过revert回退版本。

svn revert filename

5、修改后提交

三、svn常见问题处理
0、svn代码回滚

# 从版本1468962回滚到版本1468376
svn merge -r 1468962:1468376 ./

1、svn对比两次提交差异

svn diff -r 1450068:1450027 

注意差异文件后面后版本号

2、放弃本地全部修改文件。

svn revert -R ./*

3、svn up 失败: 同名未版本控制的文件已存在。

svn up --force

4、svn commit 提示svn: E175015: The HTTP method ‘MKCOL’ is not allowed on
原因:一个目录同事已创建提交了,我本地也创建了一个同名文件夹,提交之前没有更新。
解决

# 提交之前更新
svn up

发表评论

电子邮件地址不会被公开。 必填项已用*标注