undo

简介

撤销上一个可以撤销的命令。

vb undo [OPTIONS] [PATH...]

示例

  • v2.0 分支合并到 trunk :

$ vb merge v2.0
ADDED test2.txt
ADDED test3.txt
 "vb undo" is available to undo changes to the working checkout.
  • 撤销上一个合并命令:

$ vb undo
DELETE test2.txt
DELETE test3.txt
  • 重做被撤销的合并命令:

$ vb redo
NEW    test2.txt
NEW    test3.txt

说明

如果前一条命令属于下列命令之一,则 undo 命令将撤销由该命令引起的更改:

vb update
vb merge
vb revert
vb stash pop
vb stash apply
vb stash drop
vb stash goto
vb clean

备注

vb undo 将无法恢复大于 20MB 的文件,vb clean 命令仅保存小于 10MB 的文件的状态,因此如果 vb clean 删除了大于该大小的文件, vb undo 也无法恢复。

如果指定了执行撤销的文件名,则只恢复指定文件的内容,其他文件保持更新、合并或恢复有效。

如果前一条命令存在 -n|--dry-run 选项,则该命令不会进行任何更改,只是显示撤销详细信息,如果没有 -n|--dry-run 选项,撤销操作将执行。

如果上一个的命令不是可撤销命令之一,则撤销命令会尝试将工程状态恢复为上一个可撤销命令之前的状态,或者是一个无操作状态,显示 nothing to undo 信息。

当不清楚执行 vb undo 命令结果时,可以先使用 -n 选项运行进行查看。

如果意外执行了 vb undo ,可以使用 vb redo 重做撤销的命令。

该命令支持单级撤销。 撤销堆栈由 commitcheck-out 命令清除。 其他命令可能会或可能不会清除撤销堆栈。

选项

-n|--dry-run

试运行,不执行任何操作,但显示将发生的情况。

undo 与 redo 区别

  • 功能方向

undo 是向后操作,撤销未提交的更改,将工作副本恢复到上一个提交的状态。 redo 是向前操作,重做最后一次被撤销的操作,将工作副本恢复到撤销之前的状态。

  • 操作对象

undo 操作的对象是未提交的本地工作副本更改。 redo 操作的对象是最后一次被撤销的操作,用于重做该操作。

  • 历史记录

无论是 undo 还是 redo ,它们都不会直接影响版本库中的历史记录,只影响本地工作副本。

通过理解这两个命令的区别和作用,你可以在 VisionByte 中更加灵活和精确地管理本地工作副本的变更,并根据需要撤销或重做操作。

参见

redo , revert , commit (ci) , status