我不太确定这里发生了什么,但有时我的存储库中的某个特定文件会更改其名称的大小写。例如:前:File.h后:file.h我并不关心为什么会发生这种情况,但这会导致git认为这是一个新文件,然后我必须去把文件名改回来。你能让git忽略大小写变化吗?
File.h
file.h
hpcdzsge1#
从版本1.5.6开始,在.git/config的[core]部分提供了一个ignorecase选项例如,添加ignorecase = true要仅为一个存储库更改它,请从该文件夹中运行:
.git/config
[core]
ignorecase
ignorecase = true
git config core.ignorecase true
要全局更改它,请执行以下操作:
git config --global core.ignorecase true
kgsdhlau2#
你可以使用以下命令强制git以只区分大小写的方式重命名文件:
git mv --cached name.txt NAME.TXT
注意,这不会改变Windows分区上检出副本中文件的大小写,但git会记录大小写变化,您可以提交该变化。未来的检查将使用新的套管。
dgenwo3n3#
在git版本1.6.1.9 for windows中,我发现配置中的“ignorecase=true”已经被默认设置。
9njqaruj4#
问题中描述的情况现在再次出现在Mac OS X,git version >= 1.7.4(我认为)。解决方法是设置ignorecase=false,并手动将小写文件(git是这样更改的,而不是Visual Studio)重命名为它们的UsualCase(即'mv myname MyName')。更多信息here.
tcbh2hod5#
要强制git识别文件的大小写变化,可以运行以下命令。1.随意更改文件大小写
git mv -f mynewapp.sln MyNewApp.sln
t9aqgxwy6#
1.从控制台:git config core.ignorecase true1.更改文件名大写1.提交1.从控制台:git config core.ignorecase false步骤4修正了检查不同资本化的分支的问题。
monwx1rj7#
可能的发现(截至VS 2019年11月16日):如果SLN文件中项目文件的路径与其他任何地方的情况不同,这也可能触发条件。我们通过右键单击解决方案中的项目并选择“在文件资源管理器中打开文件夹”找到了这一点。我们注意到文件资源管理器顶部的路径是SLN文件中的情况,而不是文件系统中的情况,如果您只是通过文件资源管理器自己打开这个路径。所以我们怀疑SLN中的这个路径被传递给了一些git操作,而另一个版本的路径是在其他git操作时间传递的。或者git操作没有收到核心。忽略爱。
7条答案
按热度按时间hpcdzsge1#
从版本1.5.6开始,在
.git/config
的[core]
部分提供了一个ignorecase
选项例如,添加
ignorecase = true
要仅为一个存储库更改它,请从该文件夹中运行:
要全局更改它,请执行以下操作:
kgsdhlau2#
你可以使用以下命令强制git以只区分大小写的方式重命名文件:
注意,这不会改变Windows分区上检出副本中文件的大小写,但git会记录大小写变化,您可以提交该变化。未来的检查将使用新的套管。
dgenwo3n3#
在git版本1.6.1.9 for windows中,我发现配置中的“ignorecase=true”已经被默认设置。
9njqaruj4#
问题中描述的情况现在再次出现在Mac OS X,git version >= 1.7.4(我认为)。解决方法是设置ignorecase=false,并手动将小写文件(git是这样更改的,而不是Visual Studio)重命名为它们的UsualCase(即'mv myname MyName')。
更多信息here.
tcbh2hod5#
要强制git识别文件的大小写变化,可以运行以下命令。
1.随意更改文件大小写
git mv -f mynewapp.sln MyNewApp.sln
以前的命令现在似乎不推荐使用。
t9aqgxwy6#
1.从控制台:git config core.ignorecase true
1.更改文件名大写
1.提交
1.从控制台:git config core.ignorecase false
步骤4修正了检查不同资本化的分支的问题。
monwx1rj7#
可能的发现(截至VS 2019年11月16日):如果SLN文件中项目文件的路径与其他任何地方的情况不同,这也可能触发条件。我们通过右键单击解决方案中的项目并选择“在文件资源管理器中打开文件夹”找到了这一点。我们注意到文件资源管理器顶部的路径是SLN文件中的情况,而不是文件系统中的情况,如果您只是通过文件资源管理器自己打开这个路径。所以我们怀疑SLN中的这个路径被传递给了一些git操作,而另一个版本的路径是在其他git操作时间传递的。或者git操作没有收到核心。忽略爱。