git commit包含2个相同的文件路径,具有不同的大小写?

时间:2017-05-31 06:09:34

标签: git

我是git的新手,我不明白这是怎么回事。

这是我的承诺:

$ git show --pretty="" --name-only 023353a633108f013e0800849abn07d11d9b4babc
Projects/Tools/TCS-Modularized.xml
projects/tools/Input-ALL.xls

对于Windows(不幸的是?!)这两个文件都在同一个文件夹中是不是一个问题,但是对于Linux来说这两个不同的文件夹不是吗? 这怎么会发生?

当我使用bash导航到该文件夹​​时,显示:

MINGW64 /d/gitRepo/projects/tools (master)

但Windows资源管理器显示:

D:\gitRepo\Projects\Tools

现在我不知道如何解决这个问题,因为这个仓库在TeamCity上签出,而映射用于Projects/Tools,导致Input-ALL.xls无法检出。所以这是一个现有的问题,我也通过映射小写路径来固定它,但这是一个我不想保留的解决方案。

当使用TortoiseGit-Rename它的CamelCase时,如何修复它,我试图再次提交.xsl,但路径保持小写。

非常感谢。

1 个答案:

答案 0 :(得分:1)

您可以从Linux系统执行此操作(其中tools/Tools/是两个单独的文件夹)

否则,您可以尝试移动一些虚假文件,例如:

# from bash :
mkdir temp
git mv tools/Input-All.xls temp
git mv temp/Input-All.xls Tools/

# check 'git status' to see if the path fits what you expect :
git status

# if this "worked", you should see :
R  tools/Input-All.xls -> Tools/Input-All.xls

(然后添加+ commit + push)