svn add ./* --force 后,在提交(commit)之前,可以使用 svn revert 命令来撤销添加操作。
核心命令:svn revert
svn revert 可以撤销本地所有的修改,包括取消文件或目录的“添加”计划。
请注意:svn revert 会丢弃所有未提交的更改,且此操作不可恢复。执行前请务必确认。
具体操作方式
根据你的需求,可以选择以下方式:
1. 撤销当前目录下所有新增文件
如果你想撤销当前目录及所有子目录下通过 svn add 添加的所有文件,可以执行:
svn revert --depth=infinity .
这个命令会递归地(--depth=infinity)撤销当前目录(.)下所有的本地修改和计划添加。
2. 撤销单个文件或目录
撤销单个文件:
svn revert example.txt
这会将 example.txt 从待提交列表中移除。
撤销整个目录及其所有内容:
svn revert --depth=infinity my_folder
需要加上 --depth=infinity 参数来递归处理目录内的所有文件和子目录
3. 使用通配符批量撤销
如果你想撤销当前目录下所有以特定后缀结尾的文件(例如所有 .tmp 文件),可以使用
svn revert *.tmp --recursive
--recursive 参数的作用与 --depth=infinity 类似,都是递归处理
验证与注意事项
验证结果:执行 svn revert 后,可以运行 svn status 来确认状态。原本显示为 A(已添加)的文件应该会消失或变为 ?(未受版本控制)。
文件本身不会被删除:svn revert 只会撤销 SVN 的添加状态,不会删除你本地的物理文件。文件会保留在磁盘上,但不再受版本控制。
操作前提:svn revert 只能在提交之前安全地撤销 svn add 操作。如果已经提交,则需要使用 svn delete 等其他方法来处理。