git使用大写首字母创建文件的克隆,并且不能切换到主干



在分支中工作,试图切换到主干道,我得到错误消息:

git -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree checkout master 
error: The following untracked working tree files would be overwritten by checkout:
    LogLevels.cpp
Please move or remove them before you can switch branches.
Aborting
Completed with errors, see above

我创建了LogLevels.cpp文件,并将其重命名为LogLevels.cp(小写首字母),但没有让git知道。现在我承诺了分支中的所有更改,一切似乎都很好,但我无法回到主干。

如何解决此问题?我尝试从目录和git中删除该文件,并从备份中复制,但没有结果。

我不确定你想用LogLevels.cpp做什么,但我认为你想把它藏起来。在Sourcetree中,单击终端按钮:

然后键入

git stash -u

这应该将文件放在存储区中,然后将其从工作区中删除。然后继续使用切换分支

git checkout master

或者,您可以退出终端,双击Sourcetree上要切换到的分支。

如果你想在切换分支后将文件带回你的工作区,你可以回到终端并键入

git stash apply

最新更新