﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-小小程序员-随笔分类-版本控制</title><link>http://www.blogjava.net/yuoveyu/category/45388.html</link><description>小小程序员</description><language>zh-cn</language><lastBuildDate>Mon, 21 Jun 2010 12:35:46 GMT</lastBuildDate><pubDate>Mon, 21 Jun 2010 12:35:46 GMT</pubDate><ttl>60</ttl><item><title>[版本控制]svn命令行笔记</title><link>http://www.blogjava.net/yuoveyu/archive/2010/06/21/324034.html</link><dc:creator>余坚</dc:creator><author>余坚</author><pubDate>Mon, 21 Jun 2010 02:02:00 GMT</pubDate><guid>http://www.blogjava.net/yuoveyu/archive/2010/06/21/324034.html</guid><wfw:comment>http://www.blogjava.net/yuoveyu/comments/324034.html</wfw:comment><comments>http://www.blogjava.net/yuoveyu/archive/2010/06/21/324034.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/yuoveyu/comments/commentRss/324034.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/yuoveyu/services/trackbacks/324034.html</trackback:ping><description><![CDATA[svn命令行操作
<br />
<br />
1.svn update 更新 (简写up)
<br />
svn update -r 500 test.java(将版本库中的文件test.java还原到版本500)
<br />
<br />
2.svn commit -m"u" (简写ci)
<br />
提交变更的文件
<br />
<br />
3.查看文件信息svn info path
<br />
查看文件内容svn cat path
<br />
<br />
4.svn status path
<br />
会目录下的文件和子目录的状态，正常状态的则不显示，很正常，不然在项目根目录执行，将会罗列出一大堆文件了
<br />
显示的状态信息中?：表示不在svn的控制中 M：表示本地文件被修改过
C：表示本地文件与服务器文件发生冲突（如果不带-u选项,即时冲突也不会显示） A：表示预定要加入到版本库 K：表示被锁定
<br />
'!'&nbsp; 表示丢失，一般是将受控文件直接删除导致
<br />
svn st -u path&nbsp;&nbsp; -u选项表示不仅仅本地，服务器上的变更也将会显示
<br />
<br />
5.删除文件
<br />
svn delete test.java 然后再svn ci -m 'delete&#8216;，将在本地和服务器上都删除该文件
<br />
<br />
6. 添加新文件
<br />
svn add test.java(添加test.java)&nbsp; 然后再svn ci -m"add",将再服务器上添加该文件
<br />
如果不执行commit操作，服务器上将不会添加
<br />
<br />
7.svn: Commit failed (details follow):
<br />
svn: Directory '/home/yuyu/f/workspace/ouyu/WebRoot/WEB-INF/classes'
is missing
<br />
解决方法：svn update /home/yuyu/f/workspace/ouyu/WebRoot/WEB-INF/classes
<br />
<br />
8. 服务器覆盖本地文件
<br />
执行svn revert test.java命令撤销自己的修改,再执行update,
<br />
则服务器的文件会覆盖自己修改的文件。
<br />
<br />
9.svn list path(or url)
<br />
显示目标下的文件和目录列表。
<br />
<br />
10.svn diff
<br />
svn diff path&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 查看文件的不同处(本地版本的变更比较)
<br />
svn diff -r n1:n2 path&nbsp;&nbsp; n1和n2版本的同一文件比较
<br />
<br />
11. 发生冲突
<br />
执行svn update后会紧跟选择性操作，一种直接选择解决，修改文件;
<br />
一种选择推迟解决，则之后需要执行svn resolved test.java,才能最终commit
<br />
<img src ="http://www.blogjava.net/yuoveyu/aggbug/324034.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/yuoveyu/" target="_blank">余坚</a> 2010-06-21 10:02 <a href="http://www.blogjava.net/yuoveyu/archive/2010/06/21/324034.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>