问题描述
我使用连接到 DevOps 存储库的 Azure 机器学习工作区笔记本 - 使用终端 git 命令来管理我的代码。我在不同的分支工作,经常需要在它们之间来回切换。
我之前看过这个帖子:switching branches keeps new files from other branch
就我而言,它不仅保留了使用 gitignore 文件时应该忽略的文件,还保留了其他文件。
我用一个完全空的分支对其进行了测试,其中不应该有任何文件,检查出来后,它仍然有我以前使用过的分支中的文件。当我在 DevOps 上手动检查时,在 repo 中,空分支实际上是空的。
有人遇到过类似的问题吗?
解决方法
在一个分支中跟踪的某些文件可能无法在另一个分支中跟踪。因此,当您切换回“非跟踪”分支时,该文件仍保留在文件系统中。 Git 不会清理不直接跟踪的内容。不要交换没有被忽略的术语。文件不会被跟踪,直到我们在阶段“添加”它们并提交。
您可以通过运行 git clean -f -d