svn命令行操作
1.svn update 更新 (简写up)
svn update -r 500 test.java(将版本库中的文件test.java还原到版本500)
2.svn commit -m"u" (简写ci)
提交变更的文件
3.查看文件信息svn info path
查看文件内容svn cat path
4.svn status path
会目录下的文件和子目录的状态,正常状态的则不显示,很正常,不然在项目根目录执行,将会罗列出一大堆文件了
显示的状态信息中?:表示不在svn的控制中 M:表示本地文件被修改过
C:表示本地文件与服务器文件发生冲突(如果不带-u选项,即时冲突也不会显示) A:表示预定要加入到版本库 K:表示被锁定
'!' 表示丢失,一般是将受控文件直接删除导致
svn st -u path -u选项表示不仅仅本地,服务器上的变更也将会显示
5.删除文件
svn delete test.java 然后再svn ci -m 'delete‘,将在本地和服务器上都删除该文件
6. 添加新文件
svn add test.java(添加test.java) 然后再svn ci -m"add",将再服务器上添加该文件
如果不执行commit操作,服务器上将不会添加
7.svn: Commit failed (details follow):
svn: Directory '/home/yuyu/f/workspace/ouyu/WebRoot/WEB-INF/classes'
is missing
解决方法:svn update /home/yuyu/f/workspace/ouyu/WebRoot/WEB-INF/classes
8. 服务器覆盖本地文件
执行svn revert test.java命令撤销自己的修改,再执行update,
则服务器的文件会覆盖自己修改的文件。
9.svn list path(or url)
显示目标下的文件和目录列表。
10.svn diff
svn diff path 查看文件的不同处(本地版本的变更比较)
svn diff -r n1:n2 path n1和n2版本的同一文件比较
11. 发生冲突
执行svn update后会紧跟选择性操作,一种直接选择解决,修改文件;
一种选择推迟解决,则之后需要执行svn resolved test.java,才能最终commit