可以'git clean'将文件移动到垃圾桶/回收站吗?

时间:2018-01-25 21:42:30

标签: git windows-10 recycle-bin posh-git

我找到了git clean -xdf。我喜欢它,因为它清理了IDE创建的内容。

今天有一位同事问我:git clean可以将文件移到回收站而不是删除文件吗?

我检查过,git clean删除了测试存储库中的一些文件,但没有将文件移到垃圾箱。

我知道dryrun有选项-n

修改

我在Windows 10上 - 这就是为什么我有一个回收站:) 我正在使用PowerShell中的Git和PoSh-Git扩展(以获得自动完成功能)。

2 个答案:

答案 0 :(得分:2)

这是一个unix别名的配方,就是这样做的。  https://coderwall.com/p/g16jpq/keep-your-git-directory-clean-with-git-clean-and-git-trash

你可能很容易将它改编为powershell。似乎核心是

git ls-files --others --exclude-standard

将列出您未跟踪的文件。我不是PowerShell专家,所以我会拒绝自己制作别名。

另外,据我所知,git clean没有原生的软选项。

答案 1 :(得分:1)

这非常脆弱,(并且不会 git 回收文件)但是:

foreach ($s in git clean -xdn) {Remove-ItemSafely -Force $s.Remove(0,13)}

注意事项:

1)如果驱动器没有回收站,则只删除该文件。 2)如果git clean -xdn的输出发生变化,它会中断,因为$s.Remove(0,13)正在删除每行输出的前13个字符。 3)您可能必须先在任何给定的计算机上以管理员身份运行Install-Module Recycle

返回.NET对象的git插件更适合这样的东西。 (因为那时你可以remove-itemsafely $s.FileName,例如)