Linux下svn命令行客户端常用命令
Posted 上善若水
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux下svn命令行客户端常用命令相关的知识,希望对你有一定的参考价值。
命令行客户端
1.1、创建两个工作区目录,用于模拟两个开发人员
[root@192 ~]# mkdir -p /root/workspace/harry
[root@192 ~]# mkdir -p /root/workspace/sally
[root@192 ~]# cd /root/workspace/
[root@192 workspace]# ll
总用量 8
drwxr-xr-x. 2 root root 4096 7月 3 23:55 harry
drwxr-xr-x. 2 root root 4096 7月 3 23:55 sally
1.2、检出
作用:完整下载版本库中的全部内容。
命令:svn checkout svn://192.168.184.110/pro_oa/
附加效果:①:在指定目录下创建 .svn 目录;②:保存本地目录和文件状态信息,用来和svn服务器进行交互;
工作副本:①: .svn 所在的目录;②:版本控制相关操作都需要在工作副本目录下执行。例如:提交、更新等等这样的操作;③:为了保证工作副本能够正常和服务器进行交互,请不要删除或修改 .svn 目录中的内容;
1.3、添加
- svn要求提交一个新建的文件前,先把这个文件添加到版本控制体系中。
- svn add 文件名
1.4、提交
- 要求1:附加日志信息
日志信息相当于写java代码时的注释,用来标记本次操作所做的修改;
svn commit -m “xxx” [文件名]
[root@192 pro_oa]# pwd
/root/workspace/harry/pro_oa
[root@192 pro_oa]# ls
[root@192 pro_oa]# vim test.txt
[root@192 pro_oa]# ls
test.txt
[root@192 pro_oa]# svn commit test.txt
svn: 提交失败(细节如下):
svn: “/root/workspace/harry/pro_oa/test.txt” 尚未纳入版本控制
[root@192 pro_oa]# svn add test.txt
A test.txt
[root@192 pro_oa]# svn commit test.txt
svn: 提交失败(细节如下):
svn: 无法使用外部编辑器获得日志信息;考虑设置环境变量 $SVN_EDITOR,或者使用 --message (-m) 或 --file (-F) 选项
svn: 没有设置 SVN_EDITOR,VISUAL 或 EDITOR 环境变量,运行时的配置参数中也没有 “editor-cmd” 选项
[root@192 pro_oa]# svn commit -m "my first commit" test.txt
svn: 提交失败(细节如下):
svn: Authorization failed
[root@192 pro_oa]#
4. 要求2:必须具备相应的权限
使用文本编辑器打开版本库根目录 /conf/svnserver.conf文件
把匿名访问配置项的注释打开。注意:行的开头不能有空格。
1.5、查看服务器文件内容
1.6、更新操作
作用:把服务器端文件所产生的所有修改下载到本地
命令:svn update [文件名]
1.7、冲突
- 过时的文件
概念:在一个相对服务器端版本来说是旧版本的基础上进行了修改的文件。
要求:所有过时的文件都必须先执行更新操作,更新后在最新版基础上修改的文件才允许提交。 - 冲突的产生
条件1:本地当前编辑的文件已经过时。
条件2:从服务器端更新下来的修改和本地的修改在"同文件同位置"不一致。 - 冲突的表现
文件内:
目录内:
xxx.mine 文件:发生冲突时本地文件内容
xxx.r[小版本号]文件:发生冲突前文件内容
xxx.r[大版本号]文件:发生冲突时服务器端文件内容
1.8、冲突的手动解决
- 第一步:删除冲突发生时产生的三个多余文件
- 第二步:删除冲突文件内多余的符号
- 第三步:把文件编辑到满意的状态
- 第四步:提交
1.9、冲突的半自动解决(不推荐,麻烦)
2.0、减少冲突的发生
- 尽可能在修改文件前先进行更新操作,尽量在最新版基础上修改文件内容。
- 尽量减少多人修改同一个文件的可能性。
- 加强团队成员之间的沟通。
以上是关于Linux下svn命令行客户端常用命令的主要内容,如果未能解决你的问题,请参考以下文章