有没有办法恢复 svn repo 的签出?
我意外地在用户文件夹中签出了巨大的代码库,手动删除所有内容真的很痛苦,有办法删除它吗?
我正在谈论删除工作副本......
答案1
svn ls
将显示当前工作目录中的版本文件和文件夹。
要自动删除版本控制文件,您可以运行以下命令:
svn update --set-depth empty
这会放工作副本深度为empty
,这意味着所有未来的更新操作都不会检出任何内容。这还会导致所有不在给定深度的已版本化文件(即所有文件)在本地被删除。
答案2
我对此不太熟悉,svn
所以我不确定签出的文件是否保留其原始时间戳。假设它们不保留,则签出的文件将同时在您的系统上创建。然后,您应该能够通过按日期排序finder
或从命令行使用 来删除它们find
。
如果要删除 24 小时内创建的所有文件和文件夹:
find . -mtime -1 -delete
您也可以使用几分钟-mmin
。看看man find
这里了解更多信息。
如果情况更复杂,简单的时间戳无法满足要求,您可以尝试将文件检出到另一个目录中,列出创建的文件,然后从原始目录中删除同名的文件。
mkdir newdir; cd new dir
svn co http://svn.url.com
for n in $(find . ); do rm "/old_dir/$n"; done
这将列出所有已签出的文件(find .
)并按顺序删除它们。