為什麼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,這是為什麼?