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

git creates clone of a file with an uppercase initial, and cannot switch to the main trunk

在分支工作,尝试切换到主干,我收到错误消息:

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.cpp(首字母小写),但没有让 git 知道。现在我提交了分支中的所有更改,一切似乎都很好,但我无法回到主干。

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

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

然后输入

git stash -u

这应该将文件放入存储区并将其从工作区中删除。然后继续使用

切换分支
git checkout master

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

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

git stash apply