我已将大量文件和文件夹提交到git存储库,但实现了以〜结尾的所有临时文件。我想递归删除这些。我试过了
git rm -r *~
不幸的是,这不会查看每个子文件夹以删除这些文件。
这里缺少什么?
答案 0 :(得分:4)
引用glob让git(而不是你的shell)扩展它。
git rm '*~'
请注意,在这种情况下,您不需要-r
。 (所有...~
都是临时的文件,您不打算删除目录及其内容,这是-r
的全部内容。)
答案 1 :(得分:0)
答案 2 :(得分:0)
glob“*〜”仅扩展为当前目录中的文件名。但您可以使用Unix find命令查找您要查找的文件,并使用反引号将find的输出传递给git。
git rm `find . -name "*~"`
答案 3 :(得分:0)
您可以使用unix find
和xargs
命令完成以下任务:
find -name '*~' | xargs git rm
(如果您的文件名包含可能包含换行符,则还应查看-print0
的{{1}}选项和find
的{{1}}选项。)
请注意,这也会从您的计算机中删除临时文件!使用-0
仅从git中删除文件。您也可以先使用xargs
选项运行,以确保不会删除任何重要内容。