Git无法清除干净

Posted

技术标签:

【中文标题】Git无法清除干净【英文标题】:Git Failing to remove with clean 【发布时间】:2012-04-21 07:54:53 【问题描述】:

当我输入 git clean -f 时,我收到以下错误消息:

>     Removing .__afs043
>     warning: failed to remove .__afs043
>     Removing .__afs0F7D
>     warning: failed to remove .__afs0F7D
>     Removing .__afs1359
>     warning: failed to remove .__afs1359
>     Removing .__afs1421
>     warning: failed to remove .__afs1421
>     Removing .__afs243A
>     warning: failed to remove .__afs243A
>     Removing .__afs2745
>     warning: failed to remove .__afs2745
>     Removing .__afs3454
>     warning: failed to remove .__afs3454
>     Removing .__afs3D12
>     warning: failed to remove .__afs3D12
>     Removing .__afs4A5E
>     warning: failed to remove .__afs4A5E
>     Removing .__afs4FB8
>     warning: failed to remove .__afs4FB8
>     Removing .__afs5D5B
>     warning: failed to remove .__afs5D5B
>     Removing .__afs5E1D
>     warning: failed to remove .__afs5E1D
>     Removing .__afs6086
>     warning: failed to remove .__afs6086
>     Removing .__afs6328
>     warning: failed to remove .__afs6328
>     Removing .__afs6D97
>     warning: failed to remove .__afs6D97
>     Removing .__afs7562
>     warning: failed to remove .__afs7562
>     Removing .__afs7C22
>     warning: failed to remove .__afs7C22
>     Removing .__afs8148
>     warning: failed to remove .__afs8148
>     Removing .__afs865F
>     warning: failed to remove .__afs865F
>     Removing .__afs8CE5
>     warning: failed to remove .__afs8CE5
>     Removing .__afs9295
>     warning: failed to remove .__afs9295
>     Removing .__afs938C
>     warning: failed to remove .__afs938C
>     Removing .__afs9439
>     warning: failed to remove .__afs9439
>     Removing .__afsA5EC
>     warning: failed to remove .__afsA5EC
>     Removing .__afsA859
>     warning: failed to remove .__afsA859
>     Removing .__afsB044
>     warning: failed to remove .__afsB044
>     Removing .__afsB9EF
>     warning: failed to remove .__afsB9EF
>     Removing .__afsC47E
>     warning: failed to remove .__afsC47E
>     Removing .__afsCF6E
>     warning: failed to remove .__afsCF6E
>     Removing .__afsD42
>     warning: failed to remove .__afsD42
>     Removing .__afsD50F
>     warning: failed to remove .__afsD50F
>     Removing .__afsE6B9
>     warning: failed to remove .__afsE6B9
>     Removing .__afsE9F3
>     warning: failed to remove .__afsE9F3
>     Removing .__afsF0DA
>     warning: failed to remove .__afsF0DA
>     Removing .__afsF9EA
>     warning: failed to remove .__afsF9EA

来自命令。但是我需要删除这些文件才能签出我的分支,因为我收到以下消息:

Error: The following untracked working tree files would be overwritten
by checkout:
          .__afs4FB8
          .__afs6D97
          .__afs865F
          .__afs9439
          .__afsF9EA Please move or remove them before you can switch branches. 

Aborting

我该怎么办??!我需要能够快速结帐和更新这个分支!

【问题讨论】:

这些文件/文件夹是否可以通过您的用户 ID 删除?您有权删除它们吗? @rainecc 我不知道,它们被隐藏了,我可以看到它们,但我不知道如何删除它们 @uDaY ,不,我在 Red Hat linux 上 【参考方案1】:

试试sudo git clean -f。您可能需要提升权限。

【讨论】:

【参考方案2】:

由于git clean 拒绝删除这些未跟踪的文件,请尝试手动删除它们

rm -f ._afs4FB8 ._afs6D97 ._afs865F ._afs9439 .__afsF9E

这应该会删除文件或为您提供更有帮助的错误消息。

【讨论】:

当我尝试这样做时,我收到错误“rm: cannot remove `.__afs043': Device or resource busy” 然而,我在使用 git 之前没有见过这些隐藏的文件类型,所以我现在真的不知道该怎么做才能结束它们的生命或摆脱它们 我认为有一个程序/进程正在运行。我想关闭所有使用它的窗口或程序并尝试一下。 fuser .__afs043 将告诉您使用该文件的进程的 PID,以便您可以kill 它。 谢谢。实际上,我刚刚关闭了 vim,他们就走了,所以他们可能与那次运行有关(或者我也暂时关闭了我的互联网)。很烦人!不知道他们为什么会在那里结束!【参考方案3】:

您需要检查文件和包含文件夹的权限。如果文件有写权限,那么文件夹很可能没有。

chmod u+w . 在文件夹内。那么git clean --force -d 应该可以工作了。

-d 通常,当没有指定<path> 时, git clean 不会递归到未跟踪的目录以避免删除太多。指定 -d 使其也递归到此类目录中...

来源:git help cleanBlockquote

【讨论】:

【参考方案4】: 转到另一个(空)文件夹 运行 git init 。 在那里结帐您的分行

【讨论】:

以上是关于Git无法清除干净的主要内容,如果未能解决你的问题,请参考以下文章

从 Git 存储库清除文件失败,无法创建新备份

AutoCAD 卸载工具,一键强力彻底卸载清除干净AutoCAD各种残留注册表和文件

为啥mysql卸载后无法安装

maya2014卸载/安装失败/如何彻底卸载清除干净maya2014注册表和文件的方法

maya2013卸载/安装失败/如何彻底卸载清除干净maya2013注册表和文件的方法

maya2012卸载/安装失败/如何彻底卸载清除干净maya2012注册表和文件的方法