1

出于测试目的,我已在本地对文件夹中的多个文件进行了更改。但是,我想将它们恢复到原始状态,除了一个文件,我在目前的情况下仍然需要它。目前,我使用

svn revert -R .

这会将它们全部恢复到原始状态。有人可以帮助我,如何在此操作中使用排除单个文件的命令?

4

2 回答 2

1

两种选择:

  • 添加所有需要恢复更改列表中的文件(添加全部,删除单个文件),使用revert --cl
  • 将所有文件存储在文本文件(空格分隔的列表)中,将其传递给revert --target FILE

您还可以将 WC 的当前状态提交到某个临时分支,全部还原,将单个文件从分支合并到主干

于 2013-07-30T15:15:17.863 回答
0

+更新(来自@lazy badger 的回答): 步骤:

  1. SVN状态
  2. grep 除了具有模式的文件名之外的所有更改
  3. 删除不必要的内容(例如:M、?、D、C)
  4. 将其保存到文件并使用 --targets 文件名

EX:svn status | grep "^\M" | grep -v "pattern" | awk '{print $2}' > change.txt 此示例将首先获取所有修改过的不带模式的文件,然后从路径中删除不必要的信息,然后将其保存到文件中。

在此之后,用于svn revert --targets change.txt还原文件

于 2021-03-15T09:20:07.460 回答