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

时间:2011-12-10 16:49:42

标签: git

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

*.log
upload/*
!upload/global/empty.txt

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

*.log

我没有问题地返回分支,但是现在每次我想要转到新分支时,我会收到这样的消息:

  

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

我需要检查这个分支以使用它,或者至少拯救我所做的提交。

注意:我发现了这个similar question,但没有回答我的问题。

1 个答案:

答案 0 :(得分:9)

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

-f标记添加到git checkout,以强制git覆盖未跟踪的文件。