【发布时间】:2020-11-25 14:15:15
【问题描述】:
我试图对一些未跟踪的文件执行 git clean。我无意中输入了以下命令:
git clean -dn | grep -v <files_to_exclude> | git clean -df
请注意,该行似乎缺少xargs。也就是说,我通常会这样编写前面的命令:
git clean -df | grep -v <files_to_exclude> | xargs git clean -df --
话虽如此,前者有效,后者无效!是的,我知道我本来可以使用:
git clean -df --exclude=<files_to_exclude>
那时我还不知道排除选项。
为了确保您拥有正确的图片,假设您有三个未跟踪的文件 x、y 和 z,并且您要排除 x。
$ git clean -dn | grep -v x
Would remove y
Would remove z
将这个输出直接连接到 xargs 而不省略“将删除”部分是错误的并且会导致 git clean 中断是有意义的。
现在的问题是:为什么直接将此输出连接到 git clean 它仍然有效?
【问题讨论】:
标签: git chaining git-clean git-plumbing