Unable to switch branches in git, shows error: The following untracked working tree files would be overwritten by checkout

Unable to switch branches in git, shows error: The following untracked working tree files would be overwritten by checkout

当我对分支进行一些更改并尝试切换到主分支时,我不断收到此错误:以下未跟踪的工作树文件将被检出覆盖

此线程上的解决方案不起作用:The following untracked working tree files would be overwritten by checkout

我猜测导致此错误的原因是您的错误中列出的文件在您当前的 searchPlus 分支中未被跟踪,但它们在您的 中被跟踪 master 分支。如果 Git 盲目地签出 master,它会破坏(即覆盖)这些文件。当 Git 检查另一个分支时,它会覆盖所有跟踪的文件。通常,如果被覆盖的文件已经被跟踪,则风险很小,因为您仍然在某个地方有另一个分支。但是,对于未跟踪的文件,它会覆盖它们,因此您将失去这些文件在 searchPlus 上的状态。更糟糕的是,在签出 master 之后,如果您要 return 到 searchPlus,这些文件实际上会 消失 因为 Git 将确定这些文件不存在于您的 searchPlus 分支中。

为了解决这个问题,一个可能的解决方案是 git add 这些文件并进行提交。假设它们已经在 master 中提交,也许对这些文件进行版本控制是有意义的。

附带说明一下,您的错误消息中的那些 .project 文件在我看来很可疑。通常,配置文件不应由 Git 进行版本控制,因此您可能想看看是否真的希望它们在 master 分支中进行版本控制。