git clean不会清除不需要的文件夹

时间:2017-08-30 11:04:23

标签: git master

我有一个.NET解决方案,在切换回master分支后,会留下一个项目文件夹。我想要清理这个文件夹(里面只有bin和obj文件夹,有一些旧的dll')所以我尝试了git clean -f -d。这没用。

我使用git ls-tree test/flat -r --name-only检查了git正在跟踪哪些文件,并且确定没有列出要清理的项目文件夹。

我应该怎么做才能说服git清理工作文件夹,以便它的内容只是master分支中的内容?

注意:不会忽略不需要的项目文件夹。

2 个答案:

答案 0 :(得分:11)

如果该文件夹中有被忽略的文件,git clean将不会删除该文件夹。

您想要查看的选项,可能使用所有这三个选项:

  • -f:强制git clean删除文件
  • -d:删除未跟踪的目录以及未跟踪的文件
  • -x:删除git
  • 忽略的文件

此命令:

git clean -fdx

应删除所有未跟踪的文件和目录。

注意!我之所以这么说,是因为许多人没有阅读警告标签,如果你这样做,你就无法取回这些文件。他们走了。您需要具有磁盘或文件级备份而不是git 来恢复这些文件。

使用“ git clean -ifdx ”以交互方式删除文件和目录。这样可以避免意外删除文件。 Git会显示将要删除的文件列表,并要求您从该选项中进行选择。

enter image description here

答案 1 :(得分:1)

git clean不会删除默认情况下被git忽略的文件。

添加-x flag以删除被忽略的文件,或添加-X flag以仅删除被忽略的文件和目录

git clean -fdx
git clean -fdX