svn: revert to revision/revert changes from this revision/update item to revision

问题

svn里有几种"revert"操作, 一直都不是很清楚。
如图:
svn revert
光看字面意思, 我相信没有人很很清楚确定后会发生什么.

命令功能描述

为了方便描述, 假定我们已经提交了10次, SVN日志ID分别是1, 2, 3, …, 10. 现在本地提交ID位于10, 无任何修改(clear)状态。
现在我们show log, 选中7进行操作。

  1. update item to revision: 确定后, 结果是:
    本地的代码会和提交7一样,
    再次show log会显示我们位于7(字体加粗),
    本地代码显示无修改(全绿), 因为相当于我们现在本地位于第7次提交

  2. revert to revision: 确定后, 本地代码会回到提交7, 再次show log还是显示我们位于10(字体加粗),
    本地代码显示有修改(有红的), 其实修改就是: 8, 9, 10三次提交做的修改

  3. revert changes from this/these revisions: 这个命令可以选中多个提交ID, 多于一个会显示these, revisions等字样。
    如下图显示, 是选中多个提交ID的样子。
    revert changes from these revisions
    比如我现在show log, 选中6和7两次提交, 然后revert changes from these revisions, 确定.
    结果是:
    再次show log还是显示我们位于10(字体加粗), 6,7两次的提交被撤回。
    本地代码显示修改,改动其实就是6, 7两次提交被撤销

结论:

  • update item to revision 适用于临时想回到某个版本构建(比如go build等), 构建完了再update...就好了, 比较方便。
  • revert to revision 会撤销某次之后的提交, 比如提交错了几次, 想改完再提交。
  • revert changes from this/these revisions 适用于中间某次/某几次或者不连续的几次提交错了, 想回退, 改了再提交。

欢迎补充指正!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值