2

我希望 git 清理我忽略的所有未跟踪文件。

我认为这git clean -dX是显而易见的解决方案,但它什么也没做:

# Set up test directory
mkdir git-test && cd git-test
git init && touch x && git add x && git commit -m Initial

mkdir -p folder1/folder2/
touch    folder1/folder2/file

echo "folder2/" >> .gitignore

git clean -fdX     # Does nothing

为什么不删除folder1/folder2/

文档

  • **/foo匹配foo任何地方的文件或目录,与模式相同foo

所以我的folder2/模式确实匹配/folder1/folder2/并且-X应该清理它。

这是怎么回事?

4

1 回答 1

1

你使用的是什么版本的 Git?您可能遇到了这个错误:错误:git ls-files and ignored commands

此错误已在 v1.7.11.2 中修复发行说明

  • " git ls-files --exclude=t -i" 没有考虑t/排除下的任何东西,因为它在走索引时没有注意排除领先路径。的其他两个用户excluded()也更新了。
于 2013-06-12T20:24:47.457 回答