【问题标题】:Push a case sensitive change to remote repository将区分大小写的更改推送到远程存储库
【发布时间】:2015-09-04 21:16:20
【问题描述】:

在我的本地系统上,我有一个名为 FarmApi 的文件,而在我的远程存储库中,它被命名为 farmApi。注意到and then read this,在我的.gitconfig 和我的.git\config 中,我继续设置:

[core]
    ignorecase = false

这允许我添加、提交和推送区分大小写的更改。现在的问题是远程存储库同时具有farmApiFarmApi,而我们的本地存储库只有FarmApi

远程

本地

为什么区分大小写的更改不同步?我们如何解决这个问题?

【问题讨论】:

  • 你试过git checkout auth吗?
  • 我已经在auth 上,所以我不确定checkout 会做什么,这有什么不同。

标签: windows git


【解决方案1】:

虽然我不确定您采取了哪些步骤,但就 Git 而言,您最终添加而不是重命名文件(可能通过在本地计算机上重命名而不执行 git mv),因此您拥有您的存储库中有两个副本。这未反映在您的工作目录中的原因是这两个文件仅因大小写而异,而在 Windows(我假设您正在使用)上,您不能拥有仅因大小写而异的文件;它们被认为是同一个文件。

要摆脱这种情况,请备份文件,然后git rm 它。做一个git add --all 只是为了确定,然后提交;这应该摆脱 repo 上的两个文件。然后恢复备份并重新添加文件。

【讨论】:

  • 似乎不区分大小写对于操作系统来说并不是一个好主意。我以前听说过,现在我开始明白了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-11
  • 1970-01-01
  • 1970-01-01
  • 2021-11-17
  • 2011-12-03
  • 1970-01-01
相关资源
最近更新 更多