````git clean```没有删除子目录(不是递归的)

问题描述 投票:23回答:4

我面临着git clean的问题。请考虑以下情形:

git status -su
?? file_1
?? xyz/file_2

git clean -f
Not removing xyz/file_2
Removing file_1

我不想删除xyz文件夹,但我想删除里面的file_2

为什么git clean没有递归工作?

git
4个回答
41
投票

如果忽略它,请使用git clean -xf。你可以做git clean -xdf,但这也将删除未跟踪的目录。使用-n进行干运行。

http://gitready.com/beginner/2009/01/16/cleaning-up-untracked-files.html


13
投票

此外,git clean不能处理目录树。考虑一下你

> git status
Untracked files:
  ../file1.orig
  ../../file2.orig

git clean -df在这种状态下什么都不做。你必须'cd'进入项目根目录并再次运行'git clean -df'。


7
投票

试试这个:

git clean -xdf

如果有效,请告诉我。


0
投票

也许你的xyz文件中有.gitignore目录?您可以使用-x切换到clean来覆盖此行为。此外,如果未跟踪xyz目录(跟踪内部没有任何内容),除非您传递-d选项,否则不会删除它。

© www.soinside.com 2019 - 2024. All rights reserved.