Svn 常用操作
1. SVN in IDEA
1.1 往SVN推项目
仓库名与项目名必须保持一致
,否则会导致 pom.xml 中无法找到父目录而报错!删除 .idea 目录
,为了不影响 maven 仓库的路径设置。
1.2 IDEA日常推拉
- 设置
- 通过 SVN 版本库中的项目代码 → 创建项目
- IDEA设置SVN自动忽略的文件
2. SVN 常用命令
- 从代码库中拉下代码,即 checkout
将代码checkout到当前目录:svn co url
将代码checkout到指定目录:svn co url directory
- 把新建的文件提交的svn代码库,这需要两个步骤
首先把文加加入svn管理:svn add filename
其次提交文件:svn ci filename
- 把修改后的文件提交道svn代码库
svn ci filename -m "comments"
- 更新代码到最新的版本:
svn up
- 解决冲突
如果更新的代码有冲突,
首先手动解决冲突:即编辑冲突文件为正常文件,然后使用:svn resolved filename
- 代码库合并
两个代码库 address1 和 address2
把address1合并到address2中:
先把address2代码checkout到本地:svn co address2
然后进入address2的目录中执行:svn merge address1
合并后可能需要解决冲突,然后提交代码到 address2
3. SVN 常见问题
1. svn报错 refers to a file, not a directorysvn co http://server.com/svn/trunk/test.file test.filesvn: URL ‘http://server.com/svn/trunk/test.file test.file’ refers to a file, not a directory
问题根本原因:
svn co 即svn checkout 下拉一份代码副本到本地,但是checkout仅支持目录,如果checkout单个文件的话会报此错误。
解决方法:
A. 下拉代码副本的时候,将目录下载下来,此操作并不会覆盖掉target_directory/目录下的原有文件;
1 |
|
B. 强制出文件,此操作仅为单向下拉文件,不能上传到svn库,根据需求来决定使用哪种方式;
1 |
|
**2. svn报错 commit fail: **File out of date**svn: Commit failed (details follow):svn: Item ‘/banksystem/Mmoney/trunk/src/tpme/MEBS/timebargain/tradeweb/dao’ is out of date
问题根本原因:
svn需要在其下拉的工作目录下操作才可以,一般脚本使用到svn时没有留意到当前脚本的执行环境是当前目录,还是svn对应的工作目录。
解决方法:
A. 比如判断文件存在就up更新,不存在时就co一份副本下来,up前一定要进入该目录,否则后面的up和ci提交都会出错;
1 |
|
4. SVN Server @Aliyun
阿里云服务器 CentOS 安装 SVN 服务器【汇总】:
1 |
|
【安装注意事项】一定一定一定要勾选,否则IDEA无法关联使用SVN!