切换分支时Git不删除文件

bal*_*loo 39 git macos

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

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

有人经历过吗?

Chr*_*ken 63

我也见过这个.我通常只做一个git reset --hard跟随a git clean -f -d,它通常做的伎俩.

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

  • 请小心,因为这将删除您可能拥有的任何未跟踪的文件和文件夹.... (8认同)
  • "git clean"部分就是我想要的,谢谢!我还应该补充一些文件可能已经在TextMate中打开进行编辑 (3认同)
  • 是的,小心`git clean -f -d`。它也会删除您忽略的任何内容。 (2认同)
  • @dgig我猜是`git clean -x`也删除了被忽略的文件。 (2认同)

小智 8

第一的:

git reset --hard
Run Code Online (Sandbox Code Playgroud)

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

然后:

git clean -d --dry-run
Run Code Online (Sandbox Code Playgroud)

看看哪些文件会被删除。我们不想失去有价值的工作。如果没问题:

git clean -d
Run Code Online (Sandbox Code Playgroud)


Ous*_*ane 5

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

这里有更多解释:为什么git在切换分支(修改,添加,删除的文件)时不断显示我的更改,无论我是否运行git add?

  • 即使提交了所有文件,我也遇到同样的问题 (3认同)