切换分支时Git不删除文件

时间:2010-10-07 20:59:58

标签: git macos

有时使用Git切换分支(版本1.7.2.1) 它似乎没有删除我创建的文件/目录特定于我切换的分支。 在运行git status或这些文件的任何日志条目时,它也没有将其列为未跟踪。

这只会偶尔发生,我不知道为什么或如何重置它,以便删除不属于当前分支的文件。 如果我手动删除文件,它会再次同步(如切换分支时删除/恢复)。

有人经历过这个吗?

3 个答案:

答案 0 :(得分:57)

我也见过这个。我通常只需git reset --hard后跟git clean -f -d,它通常可以解决问题。

当我的IDE锁定我正在切换的分支中的一个文件时,似乎肯定会发生这种情况。

答案 1 :(得分:5)

我遇到了同样的问题,因为在切换分支之前我没有提交文件!

此处有更多解释:Why git keeps showing my changes when I switch branches (modified,added, deleted files) no matter if I run git add or not?

答案 2 :(得分:2)

首先:

git reset --hard

将存储库重置为上次提交的状态 由于git通常不会删除文件,因此它不会跟踪那些仍可能导致问题的文件。

然后:

git clean -d --dry-run

查看哪些文件会被删除。 我们不想放松有价值的工作。 如果可以的话:

git clean -d