我想找到一种使用git clean
的正则表达方式。
git clean -dfx --exclude=".idea/"
git clean -dfx --exclude='(.*\/)*(\.idea\/.*)(.*)'
git clean -dfx --exclude="(.*\/)*(\.idea\/.*)(.*)"
git clean -dfx --exclude=r'(.*\/)*(\.idea\/.*)(.*)'
git clean -dfx --exclude=r"(.*\/)*(\.idea\/.*)(.*)"
如何将git clean
与正则表达式一起使用?
答案 0 :(得分:1)
git clean
不支持正则表达式。
解决方法将是这样的:
$ git clean -n | cut -f3 -d' ' | grep -v -E --color=never '<PATTERN>' | ifne git clean
发生在这里的事情细分:
git clean -n
生成一个文件列表,如果git clean
将被执行,将会删除这些文件(您可以在此处使用-d
,-x
或-X
等标记太)
-n
干涸(实际上什么都不做)cut -f3 -d' '
从这些匹配中删除第三个字段(由空格分隔)
-f3
第三场-d' '
使用空格作为分隔符grep -v -E --color=never '<PATTERN>'
-v
反转来自grep的匹配-E
将PATTERN解释为扩展正则表达式color=never
以防止彩色grep
输出混乱以下命令(可能会被省略)'<PATTERN>'
正则表达式ifne git clean
会将文件列表(如果有文件)传递给git clean
ifne
来自moreutils的实用程序功能(可通过自制程序或其他程序包管理器安装)git clean
将获取此列表并清理文件(首先使用-n
以确保没有删除您未预料到的文件)这是每个执行简单特定任务的小命令行程序的魔力