2010-09-27 22 views
3


Git的新手在这里:)Git的检出文件 - 外壳在文件名

面对外壳相关的问题:文件aspnetdb.mdf从库中多次提交前删除,我决定把它从一些早期提交的恢复和做它是这样的方式:

git checkout master~3 aspnetdb.mdf 

想从第三文件重新提交

但是git的说,那有没有这样的文件。
然后我执行如下:

git checkout master~3 ASPNETDB.MDF 

它工作得很好 - 我已经得到了需要的文件。

然而,命令git checkout master~3 aspnetdb_log.ldf(带小写文件名)命令执行正常。在所有的开发中。处理这两个文件都以相同的方式进行处理(没有hack重命名等:))。

怎么解释这种行为?我做错了什么?

+0

你在Windows(msysgit)和你的'core.ignorecase'设置为true?请参阅http://wiki.xbmc.org/?title=Git_Usage#Git_.28OSX.2FWindows.29 – VonC 2010-09-27 21:19:57

+0

Yap,我正在使用Windows。完全忘了core.'ignorecase'设置。谢谢:) – 2010-09-27 21:53:04

回答

2

正如评论中所述,由于您在不区分大小写的系统(Windows)上使用Git,请尝试正确设置core.ignorecase。请与:

$ git-config --list 

如果没有设置:

$ git-config --global core.ignorecase true 
+0

谢谢,好像一切工作正常。 – 2010-09-28 23:50:22