pengpenglin
人,必须选择一种生活方式并有勇气坚持下去
BlogJava
首页
新随笔
新文章
联系
聚合
管理
posts - 262, comments - 221, trackbacks - 0
【原】SVN In Action(12)
【14】svn update与svn revert
对于svn revert命令,前面我们分别通过“回滚文件内容”,“回滚属性”,“回滚操作”来给出直观的认识。现在我们再通过一个稍微复杂的例子来进一步了解svn revet命令。
假设现在我们的目录环境如下:
C:\
>
svn list E:\Temp\ECoupon
WebRoot
/
doc
/
read
-
from
-
repo.txt
read
-
from
-
wc.txt
src
/
前面我们提到对于尚未提交的本地修改,可以使用svn revet回滚。那么如果我们使用svn update来从版本库同步到本地文件,不也是可以达到同样的目的吗?事实是这样吗?
C:
\>
svn status E:
\
Temp
\
ECoupon
M E:
\
Temp
\
ECoupon
\
read
-
from
-
wc.txt
C:
\>
svn update E:
\
Temp
\
ECoupon
At revision
18
.
C:
\>
svn status E:
\
Temp
\
ECoupon
M E:
\
Temp
\
ECoupon
\
read
-
from
-
wc.txt
C:
\>
svn cat E:
\
Temp
\
ECoupon
\
read
-
from
-
wc.txt
C:
\>
type E:
\
Temp
\
ECoupon
\
read
-
from
-
wc.txt
Wrong content, don
'
t commit!
C:
\>
svn diff
-
r HEAD E:
\
Temp
\
ECoupon
\
read
-
from
-
wc.txt
Index: E:
/
Temp
/
ECoupon
/
read
-
from
-
wc.txt
========================================================
---
E:
/
Temp
/
ECoupon
/
read
-
from
-
wc.txt (revision
18
)
+++
E:
/
Temp
/
ECoupon
/
read
-
from
-
wc.txt (working copy)
@@
-
0
,
0
+
1
@@
+
Wrong content, don
'
t commit!
\
No newline at
end
of file
可以发现,即便我们执行了svn update操作,本地已经修改的文件仍然不会被回滚到和版本库一样的版本。这是因为:
因为SVN为了保护用户不小心update操作而覆盖自己本地的修改,不会对已经被修改但尚未提交的资源进行update操作。像这种情况下只能用svn revert而不能用svn update。
【15】svn del与svn revert
好了,那么假如现在我们在修改后临提交之前发觉这个read-from-wc.txt是不需要的,我们要删除而不是回滚它了。该怎么做?看看下面的实验:
C:
\>
svn del E:
\
Temp
\
ECoupon
\
read
-
from
-
wc.txt
svn: Use
--
force
to
override this restriction
svn:
'
E:\Temp\ECoupon\read-from-wc.txt' has local modifications
C:
\>
svn del E:
\
Temp
\
ECoupon
\
read
-
from
-
wc.txt
--
force
D E:
\
Temp
\
ECoupon
\
read
-
from
-
wc.txt
C:
\>
svn status E:
\
Temp
\
ECoupon
D E:
\
Temp
\
ECoupon
\
read
-
from
-
wc.txt
上面的实验我们一共做了2个变更:
A.修改本地文件read-from-wc.txt
B.标记删除本地文件read-from-wc.txt
和svn update不会对已修改而尚未提交的资源进行update一样,svn del同样不会删除已修改但尚未提交的资源---除非你强制加上--force参数。
如果此时我们又想反悔了,那么再次执行svn revert命令会有什么后果:
C:
\>
svn revert E:
\
Temp
\
ECoupon
\
read
-
from
-
wc.txt
Reverted
'
E:\Temp\ECoupon\read-from-wc.txt'
C:
\>
svn status E:
\
Temp
\
ECoupon
\
read
-
from
-
wc.txt
C:
\>
svn diff
-
r HEAD E:
\
Temp
\
ECoupon
\
read
-
from
-
wc.txt
C:
\>
好了,现在文件read-from-wc.txt又回来,但是之前我们对它进行的本地修改也跟着不见了!这是因为svn revert回滚的是所有本地未提交的操作,内容,属性。所以在回滚删除操作之时,也会连修改操作也一起回滚。这个教训告诉我们:
不要把所有变更都放在最后一次性提交,提交要及时、多次。否则一旦回滚所有其他修改都会跟着撤销。
-------------------------------------------------------------
生活就像打牌,不是要抓一手好牌,而是要尽力打好一手烂牌。
posted on 2009-12-09 11:19
Paul Lin
阅读(529)
评论(0)
编辑
收藏
所属分类:
项目管理
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
相关文章:
【转】有没有可能进行同级管理
敏捷文章三则
【原】敏捷开发沉思(真实对话)
【转】新任项目经理必须掌握的五项修炼
【转】管理者的困境:放权或者崩溃
【转】网络阅读,为什么人会浮躁?
【原】SVN In Action系列发布
【原】SVN In Action(23)
【原】SVN In Action(22)
【原】SVN In Action(21)
<
2009年12月
>
日
一
二
三
四
五
六
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(21)
给我留言
查看公开留言
查看私人留言
随笔分类
J2EE 框架(9)
J2EE基础(4)
J2SE(43)
Java 工具(5)
Oracle Concept(4)
Oracle SQL/PLSQL(9)
Oracle 开发(13)
Oracle 管理(4)
Oracle 调优
Oracle 错误诊断
RoR(19)
UML(3)
Unix / Linux(13)
Web基础(19)
其它技术(7)
感悟(3)
杂项(7)
架构与性能(8)
模式与重构(19)
灌水(8)
电影与音乐(16)
走过的路(1)
软件过程与软件方法(3)
阳光户外(2)
项目管理(36)
随笔档案
2012年2月 (3)
2011年11月 (4)
2011年10月 (1)
2011年9月 (2)
2011年8月 (2)
2011年7月 (5)
2011年6月 (3)
2011年5月 (1)
2011年4月 (1)
2011年3月 (3)
2011年1月 (1)
2010年12月 (1)
2010年11月 (5)
2010年10月 (3)
2010年9月 (1)
2010年7月 (1)
2010年6月 (1)
2010年5月 (4)
2010年4月 (9)
2010年3月 (19)
2010年2月 (8)
2010年1月 (3)
2009年12月 (34)
2009年11月 (1)
2009年10月 (2)
2009年7月 (4)
2009年6月 (5)
2009年5月 (3)
2009年4月 (2)
2009年3月 (1)
2009年2月 (5)
2009年1月 (5)
2008年12月 (13)
2008年11月 (4)
2008年10月 (1)
2008年9月 (6)
2008年8月 (5)
2008年7月 (3)
2008年6月 (31)
2008年5月 (10)
2008年4月 (9)
2008年3月 (7)
2008年2月 (4)
2008年1月 (19)
BlogJava热点博客
BeanSoft
Jack.Wang
如坐春风
诗特林
郑晖
银河使者
阿密果
隔叶黄莺
好友博客
无羽苍鹰
搜索
最新评论
1. re: 【Java基础专题】编码与乱码(01)---编码基础[未登录]
666666666666666666666这几天正在做个类似工程编码出现错误
--李
2. re: 【Java基础专题】IO与文件读写---使用Apache commons IO简化文件读写
不错
--阿斯兰
3. re: 【Java基础专题】编码与乱码(03)----String的toCharArray()方法
多谢分享
--thx
4. re: 【Java基础专题】编码与乱码(05)---GBK与UTF-8之间的转换
评论内容较长,点击标题查看
--karl
5. re: 【Java基础专题】编码与乱码(01)---编码基础[未登录]
谢谢,帮了我大忙!
--小龙
阅读排行榜
1. Oracle中如何插入特殊字符:& 和 ' (多种解决方案)(48351)
2. getOutputStream() has already been called for this response的解决方法(43322)
3. 【Java基础专题】编码与乱码(05)---GBK与UTF-8之间的转换(36953)
4. 360安全卫士误删audiosrv.dll文件造成系统无声的解决方案(21210)
5. Java中读取字节流并按指定编码转换成字符串的方法(17300)
评论排行榜
1. 360安全卫士误删audiosrv.dll文件造成系统无声的解决方案(33)
2. 【原】Oracle开发专题之:时间运算(11)
3. 【Java基础专题】编码与乱码(05)---GBK与UTF-8之间的转换(11)
4. getOutputStream() has already been called for this response的解决方法(10)
5. 【原】Oracle开发专题之:分析函数(OVER)(8)