標籤:

為什麼git默認不區分文件夾大小寫?

今天上線時發現某些模塊的依賴路徑出錯了,一查發現某次重命名文件夾名稱時,重命名操作沒有被git識別出來,一搜才發現git默認是不區分大小寫的,這種設置有什麼原因嗎?感覺很容易就被坑了啊...


可能是為了兼容Windows和MacOS


經評論區提醒,Windows 是不區分大小寫的。。

====

如輪子哥所說,大概是為了兼容。

macOS 默認是『 Mac OS 擴展(日誌式)』格式的磁碟,這個是不區分大小寫的,而 Linux 是區分大小寫的,所以其實還是要注意這個方面把。

另外你可以把磁碟抹成『 Mac OS 擴展(區分大小寫,日誌式)』,但是有些軟體可能就掛了,所以還是別瞎折騰了。

可以通過 git mv 操作來避免 git 未識別:

git mv myfolder tmp
git mv tmp MyFolder

你也可以修改 git config 來達到區分大小寫:

git config core.ignorecase false


win10都區分大小寫了。。。


github的客戶端里區分.....git for windows不區分......項目整個被拆了兩半。。。git換github被坑了的路過


因為svn區分大小寫,坑更大。如果客戶端是windows的話。

經常兩個人提交同名不同大小寫的文件,別人卻check不下來。

還有人手欠,改一下大小寫,下次提交在伺服器是一個新文件。同樣check不下來。

而且別人一更新會卡死。必須手動清理一下本地那個蛋疼的文件夾。

沒提交理論上你可以自己發現,而且你可以自己補上。

svn那個坑會讓全組的人一更新全掉坑裡。


我覺得是為了避免出現僅個別字母大小不同的多個文件互相混淆。


Git 的重命名默認是對文件名大小寫不敏感的,但在 2.0.1 以後的 mv 命令支持了這一特徵


推薦閱讀:

gg———good use of git,一個實用的git分支模型
自學Git,有哪些書籍或者好的學習資源?
Github 有什麼優缺點?把項目直接搭建在 Github 上合適嗎?
初學git,commit了多次才push到remote,怎麼刪除不想要的commit歷史,或是刪除之前的commit記錄?
git clone和 git pull 操作都正常,但是不能push,這是為什麼?

TAG:Git | GitHub |