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 适用于中间某次/某几次或者不连续的几次提交错了, 想回退, 改了再提交。

欢迎补充指正!

发布了231 篇原创文章 · 获赞 77 · 访问量 52万+

猜你喜欢

转载自blog.csdn.net/butterfly5211314/article/details/99815971