Git清除失败的问题

12

当我输入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

我该怎么办?!我需要能快速地检出和更新这个分支!


1
你的用户ID能够删除这些文件/文件夹吗?你有权限删除它们吗? - rainecc
1
@rainecc 我不知道,它们被隐藏了,我能看到它们,但是我不知道如何将它们移除。 - Layla
@uDaY,不,我在使用Red Hat Linux。 - Layla
4个回答

10
尝试使用 sudo git clean -f。你可能需要提升权限。

5

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

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

这应该会删除文件或者给你更有帮助的错误信息。

当我尝试这样做时,我会收到错误信息:“rm: 无法删除 `.__afs043':设备或资源忙”。 - Layla
然而,当使用git时,我以前从未见过这些隐藏文件类型,因此我不知道该怎么做来结束它们的生命周期或摆脱它们。 - Layla
1
我认为有一个程序/进程正在运行。我想关闭所有使用它的窗口或程序并尝试它。 - uday
2
fuser .__afs043将告诉您正在使用该文件的进程的PID,以便您可以使用 kill 命令终止它。 - krzysz00
谢谢。我其实只是关闭了 Vim,然后它们就消失了,所以它们可能与正在运行的 Vim(或我也暂时关闭的互联网)有关。非常烦人!而且不知道它们为什么会出现在那里! - Layla
从名称来看,它们可能是由内核管理的Andrew文件系统(https://en.wikipedia.org/wiki/Andrew_File_System)的临时工件。下次尝试将它们移动到git目录之外的目录中(但在同一文件系统上)。 - qneill

3
您需要检查文件及其所在的文件夹的权限。如果文件具有写入权限,则文件夹很可能没有该权限。
在文件夹中执行 chmod u+w . 命令,然后运行 git clean --force -d 即可。

-d
通常情况下,当没有指定路径时,git clean 不会递归进入未跟踪的目录以避免删除过多的内容。指定 -d 参数将使其递归进入这些目录...

来源:git help clean


2
  • 前往另一个(空)文件夹
  • 运行 git init .
  • 在那里检出你的分支

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接