【问题标题】:Can 'git clean' move files to trash / recycle bin?'git clean' 可以将文件移动到垃圾箱/回收站吗?
【发布时间】:2018-07-05 06:17:49
【问题描述】:

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

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

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

我知道有一个选项 -n 用于空运行。

编辑:

我使用的是 Windows 10 - 这就是我有回收站的原因 :)。
我在 PowerShell 中使用带有 PoSh-Git 扩展的 Git(以获得自动完成)。

【问题讨论】:

  • 仅供参考,Windows 并不是唯一带有垃圾的操作系统。一些 Linux GUI 环境也有垃圾(例如,Ubuntu、KDE、...),就像 Mac 一样。 :)
  • 从技术上讲,windows 有“回收站”。 ;)

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


【解决方案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,例如)

【讨论】:

    【解决方案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 没有原生的软选项。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-18
      • 2018-06-08
      • 2011-04-07
      • 2014-08-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多