直到昨天,我的项目只有一个带有.gitignore文件的分支,类似于:
*.log
upload/*
!upload/global/empty.txt
在我添加新分支并将此.gitignore更改为不忽略上传文件之前,它工作正常。新的.gitignore文件只剩下一行:
*.log
我没有问题地返回主分支,但是现在每次我想要转到新分支时,我会收到这样的消息:
错误:未经跟踪的工作树文件'upload / file.txt'将是 被合并覆盖。
我需要检查这个分支以使用它,或者至少拯救我所做的提交。
注意:我发现了这个similar question,但没有回答我的问题。
答案 0 :(得分:9)
您的问题是,在新分支中,您没有跟踪upload/file.txt
,而是在主分支中跟踪它。因此,当您切换到新分支时,来自master的版本将覆盖未跟踪的文件。
将-f
标记添加到git checkout,以强制git覆盖未跟踪的文件。