【问题标题】:Does git clean support moving to Recycle Bin?git clean 是否支持移动到回收站?
【发布时间】:2014-08-31 12:57:03
【问题描述】:

如果我知道在出现问题时可以撤消删除操作,我会觉得使用 git clean 会更舒服。

它是否以任何方式、形状或形式支持回收站?如果没有,是否有任何人知道的解决方法,例如使用git clean -n 的外部工具打印文件,然后将它们移动到回收站?

【问题讨论】:

  • 我敢打赌 git 有一些钩子,但即使没有 - 我很确定如果你可以使用 git clean -n 列出文件,那么你可以简单地将列表传递给一些质量 -移动工具,将它们移动到垃圾箱或任何你想要的地方。如果可能的话,你可以编写一个小脚本来做这件事,将它命名为 git-trash 并改用它。
  • @quetzalcoatl 这给了我一个想法,也许git clean -n | xargs trash-cli 会适用于 Linux。

标签: windows git git-clean


【解决方案1】:

不, 很遗憾!! git 没有这个特权。什么都过去了!!

git clean -fdxn

将进行试运行,并显示运行后会删除哪些文件

还有一件事,如果您添加了文件并以某种方式删除了这些文件。在这种情况下,您可以使用以下命令恢复这些文件:

'git fsck --lost-found'

值得一试,但不要抱太大希望。

【讨论】:

  • 很好的回复,结合stackoverflow.com/a/9928789/1710392 我能够检索我的文件(关键信息是运行 git fsck --lost- 后,blob 位于 .git/lost-found/other 中找到并且可以被grepped)。
【解决方案2】:

将recycle.exe 放入您的%PATH%

运行git config --global alias.recycle !git_recycle.sh

把 git_recycle.sh 放到你的%PATH%:

#!/bin/bash

cd ${GIT_PREFIX:-.}
git clean -xdfn "$@" | sed 's/Would remove //' | xargs -d \\n --no-run-if-empty recycle

【讨论】:

  • 感叹号在 Bash 中有特殊的含义(指最后一个以 '!' 后面的文本开头的命令)。您应该转义感叹号以使其正常工作:git config --global alias.recycle \!git_recycle.sh
  • @PawełStankowski:好点,给定的git config 命令在cmd.exe 下工作,但不是bash。
【解决方案3】:

没有。

如果您担心丢失文件,那么“试运行”确实是唯一可行的选择:

git clean -n

或等效

git clean --dry-run

Git 不了解底层桌面环境,而且可能永远不会。

Git GUI 能够向您显示这些文件,但您究竟为什么要将它们移动到回收站呢?在删除文件之前想想你在做什么。

或者,将文件添加到存储库中的单独分支,尽管这可能会破坏首先删除它们的目的。

【讨论】:

  • “在删除文件之前想想你在做什么。”如果您考虑回收站、垃圾箱、撤消(在 Word、Gmail 等中),我猜这些是设计的,因为许多人发现如果他们犯了错误就没有追索权会带来压力。更不用说人们做了多少次git commit -am Checkpoint
  • @KevinSmyth 是的。这不仅仅是心理上的好处;它可以让您更快地工作,因为您不需要过多地“仔细检查”操作——您可以随时返回。它类似于文字处理器中的“撤消”。确保您第一次始终正确输入内容会更快吗?还是只输入您认为正确的内容,然后在输入错误时使用 undo 更快?后者显然更好,至少在很多情况下。回收站也是如此。 (尽管程度要低得多,因为 git clean 不太常见——但是原理是一样的)
【解决方案4】:

如果你在 Windows 上使用 Git Bash,最快的方法可能是

explorer .

这将在 cwd 中打开资源管理器。找到文件,按DEL删除,按CTRL+W关闭窗口。

根据您的资源管理器设置,甚至没有确认提示。

【讨论】:

    猜你喜欢
    • 2018-07-05
    • 2011-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-14
    • 2018-09-20
    • 1970-01-01
    • 2012-03-04
    相关资源
    最近更新 更多