为什么在Git中切换分支时会收到错误"未跟踪的工作树文件"?

Iva*_*van 3 git

直到昨天,我的项目只有一个带有.gitignore文件的分支,类似于:

*.log
upload/*
!upload/global/empty.txt
Run Code Online (Sandbox Code Playgroud)

它工作正常,直到我添加了一个新的分支并将此.gitignore更改为不忽略上传文件.新的.gitignore文件只剩下一行:

*.log
Run Code Online (Sandbox Code Playgroud)

我没有问题就回到了master分支,但是现在每次我想去新分支时都收到这样的消息:

错误:未经跟踪的工作树文件'upload/file.txt'将被合并覆盖.

我需要签出这个分支来处理它,或者至少拯救我所做的提交.

注意:我发现了类似的问题,但没有回答我的问题.

And*_*ndy 9

您的问题是,在新分支中,您没有跟踪,upload/file.txt但是您正在主分支中跟踪它.因此,当您切换到新分支时,您的版本将从master中覆盖未跟踪的文件.

-f标志添加到您的git checkout,强制git覆盖未跟踪的文件.