前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Mac下SVN基本操作和常见错误

Mac下SVN基本操作和常见错误

作者头像
全栈程序员站长
发布2022-07-07 11:14:25
5530
发布2022-07-07 11:14:25
举报
文章被收录于专栏:全栈程序员必看

一、基本操作

1 从服务器上下载代码

svn checkout http://xxx.xxx.xxx/xxx

2 获取最新的代码

svn update

3 提交代码

svn commit -m ‘comment’

4 撤销本地未提交的所有操作

svn revert –recursive .

5 建立远程分支

svn copy http://…/sdk/trunk http://…/sdk/branches/branch1 -m ‘create branch1’

6 添加目录并提交

1)在本地建立test文件夹

2)svn add test

3)svn commit -m ‘comment’

7 删除文件和文件夹,比如一个名为test的文件夹,内含一个名为abc的文件

在本地进入到该test文件夹所在的上级目录

输入命令svn rm test

看到如下的显示

D test/abc D test

再提交一下:svn commit -m ‘delete test folder’

(注意,提交之前要先到根目录下执行svn update,否则可能会报out of date的错误,意思是说服务器上的代码比本地的代码新)

看到如下的显示 Deleting branches/test

至此,删除成功。本地和远程都不再有test目录

8 远程主干合并到本地分支

1)svn commit -m ‘some comment’(提交本地主干里的变化)

2) svn update(更新一下,否则会报错)

3) svn merge -r 版本号一:版本号二 主干svn地址 本地分支路径 (远程主干中版本号一和版本号二之间的变化合并到本地分支)

这里版本号一不算在内,而版本号二算在内。比如1110:1113,则合并的版本号为1111,1112,1113

如果当前路径恰巧就是本地分支路径,则本地分支路径可以不写

例子:svn merge -r 1110:1113 http://…/sdk/trunk/

若版本号二写成head或HEAD,则表示更新到最新的版本。如svn merge -r 1110:head http://…/sdk/trunk

4)svn commit -m ‘some comment’ (本地分支中获得的更新提交到远程分支)

注意:远程分支合并到本地主干、本地主干合并到本地分支、本地分支合并到本地主干也是上述步骤。

SVN合并只能在远程和本地、本地和本地之间进行,不能在本地和远程、远程和远程之间进行。

9 解决冲突

若有冲突,解决完冲突后,要用命令svn resolved 路径

例子:svn resolved dir1/dir2/file.m

10 帮助命令

svn help resolved

此命令可以查看resolved相关的参数和功能

11 查看版本提交日志

svn log

svn log -l15(查看最近15次的改动信息)

12 删除分支

svn rm http://…/branches/log_branch -m ‘delete comment’

svn remove http://…/branches/log_branch -m ‘delete comment’

svn delete http://…/branches/log_branch -m ‘delete comment’

13 创建远程目录

svn mkdir http://…/branches/my_branch -m ‘create my branch directory’

14 svn模拟合并,可以看到操作后的结果但不会真正操作

svn merge –dry-run

15 回滚

假如提交的版本2409,提交之后就是2410。这时发现提交的代码有问题,想回滚到2409,可以用如下命令:

svn up -r 2409

二、常见错误

1 操作:

svn commit -m ‘delete svntest’

Deleting svntest

svn: E155011: Commit failed (details follow):

svn: E155011: Directory ‘/XXX/svntest’ is out of date

svn: E170004: Item ‘/XX/svntest’ is out of date

解决:

先在根目录执行svn update,然后再执行svn commit -m ‘delete svntest’

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/113339.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021年10月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档