Azure ML、DevOps:在分支之间切换会保留一些文件来自另一个分支

问题描述

我使用连接到 DevOps 存储库的 Azure 机器学习工作区笔记本 - 使用终端 git 命令来管理我的代码。我在不同的分支工作,经常需要在它们之间来回切换。

我之前看过这个帖子:switching branches keeps new files from other branch

就我而言,它不仅保留了使用 gitignore 文件时应该忽略的文件,还保留了其他文件

我用一个完全空的分支对其进行了测试,其中不应该有任何文件,检查出来后,它仍然有我以前使用过的分支中的文件。当我在 DevOps 上手动检查时,在 repo 中,空分支实际上是空的。

有人遇到过类似的问题吗?

解决方法

在一个分支中跟踪的某些文件可能无法在另一个分支中跟踪。因此,当您切换回“非跟踪”分支时,该文件仍保留在文件系统中。 Git 不会清理不直接跟踪的内容。不要交换没有被忽略的术语。文件不会被跟踪,直到我们在阶段“添加”它们并提交。 您可以通过运行 git clean -f -d

来清理正在工作的 git