为什么git clean不能删除特定文件?

3
我在项目中有一个文件,在之前的提交中存在,后来被另一次提交删除。我想用git clean命令删除该文件,但它却无法删掉。我只好采用了直接使用rm命令删除的方法,但我很好奇:git clean为什么不能将这个文件视为可删除的文件呢?
以下是我的尝试(已经过处理)的追踪信息:
me@mybox:/myproj/build$ git reset --hard origin/master
HEAD is now at 64a87ed Merge branch 'dev/phrogz/whee' into 'master'

me@mybox:/myproj/build$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Untracked files:
  (use "git add <file>..." to include in what will be committed)

    ../app/faux/prep.sh

nothing added to commit but untracked files present (use "git add" to track)

me@mybox:/myproj/build$ git clean -n
me@mybox:/myproj/build$ git clean -f -d
me@mybox:/myproj/build$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Untracked files:
  (use "git add <file>..." to include in what will be committed)

    ../app/faux/prep.sh

nothing added to commit but untracked files present (use "git add" to track)

me@mybox:/myproj/build$ rm ../app/faux/prep.sh 
me@mybox:/myproj/build$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working tree clean

1
cd .. ; git clean -n or perhaps git clean -n .. - Dietrich Epp
这是我不想让其成为完整答案的回答。 - Dietrich Epp
1个回答

2
git clean帮助文档中说:“通过递归地删除不在版本控制下的文件来清理工作树,从当前目录开始。”(强调是我的)
因此,由于文件位于../app,您需要在命令尝试删除它之前向上移动一级。

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