【发布时间】:2018-04-30 07:45:05
【问题描述】:
- 我有一个分支
development和一个文件Config.json。 - 我正在创建一个新分支
new_development,我将在其中将Config.json重命名为config.json并提交。 - 我切换回
development以查看该分支中的某些内容是如何制作的。没有错误。 - 我切换到
new_development继续研究新的东西。它显示一个错误:
错误:以下未跟踪的工作树文件将被结帐覆盖:
Config.json请在切换分支之前移动或移除它们。
中止
文件实际上在 git 中。
我有这个 git 配置:
[core]
ignorecase = false
当相同的文件有不同的大小写时,如何使分支切换工作?
【问题讨论】:
-
通过 -am 选项提交,
git commit -am "config file name changed" -
错误消息似乎表明它不受版本控制“错误:以下未跟踪的工作树文件将被结帐覆盖”。我不太确定你是如何以这种方式结束的。
git ls-tree HEAD .在Config.json所在的分支和目录上显示什么?您在列表中看到Config.json吗?如果不是,那么它不在版本控制之下(不仅仅是一个案例问题)。 -
你为什么有
ignoreCase = false?看起来您使用的是区分大小写的文件系统。 -
如果我不得不猜测,我会说
Config.json没有致力于您的开发分支。这里还没有足够的信息。你能在你的两个分支上打印出git ls-files(列出你的仓库中的所有文件)和git status吗?要切换到您的新分支,您可能需要删除 Config.Json(所以现在只需将其删除/复制到其他地方),那么您至少应该能够交换分支。
标签: git