这是我所做的:
$ git status
# I see some files *and* directories (some tracked, some not) which I really wanted to discard
$ git clean -xd
我很惊讶地发现,git删除了一些其他目录,这些目录在
git status
中没有显示。经过最初的震惊(这是我在生产主机之一中的/etc
),我意识到它们未被列在git中,因为它们是空目录(所以不是大问题,只需mkdir
它们——希望获取正确的权限)。这很好,但是:为什么git在执行
git status
时不考虑空目录,但在执行git clean
时却考虑它们?这非常烦人(并且危险)!
.gitignore
文件放在文件夹中是一种常见的方法。Git clean将仓库恢复到Git已知的状态(仅限文件)。 - undefinedgit clean
会删除什么,可以使用-n
(或--dry-run
)选项运行它。请参阅文档。 - undefinedgit clean
和git status
在处理空目录方面不一致。 - undefined