有些同學在 git 倉庫對檔案/資料夾進行命名時,剛開始是小寫,後來為了保持團隊一致,又改成了大寫,然而 git 不會發現大小寫的變化,此時就出了問題:導致倉庫裡出現了 大小寫 同時存在的兩個檔案。但在 windows、mac 的電腦磁碟裡,肉眼卻能只看到乙個檔案,實在奇葩。
(1)新建乙個 test 檔案(大小寫不敏感的狀態下),並提交。
(2)本地修改 test 變為 test,檔案內容無變更,無法提交。
(3)執行git config core.ignorecase false
,設 置git的規則為 區分大小寫(大小寫敏感),然後 git push 提交,檢視結果,此時遠端倉庫會存在 大小寫 同時存在的檔案,但本地倉庫卻只看到其中乙個檔案。
(4)甚至可能出現這種異常情況:本地暫存區的檔案,怎麼刪也刪不掉。再之後,從 test 嘗試改為 test 時,提示命名衝突。
git mv test test
執行上面的命令時,會報錯:fatal: renaming 'test' failed: invalid argument
# 將本地的 test、test 目錄都刪掉,並生成乙個新的目錄 temp
git mv test temp
# 將 temp 目錄改成 test 目錄。此時,專案中只會存在 test 目錄,不會存在 test 目錄。目標達成。
git mv temp test
執行完上面的兩個命令之後,專案中只會存在 test 目錄,不會存在 test 目錄。目標達成。
我們知道:針對檔案/資料夾,windows 系統和 mac 系統是不區分大小寫的;linux 系統是區分大小寫的;git 預設是不區分大小寫的,也可以通過改配置項,改為區分大小寫。
前面講到,git 預設是不區分大小寫的,可以通過命令git config --get core.ignorecase
查到,預設值是 true。
我們也可以修改 git 的這一配置項,改為區分大小寫,配置命令為git config core.ignorecase false
。
但我建議你保留 git 的預設配置項,不要隨意自行修改,避免產生其他的麻煩。
Git 預設不區分大小寫
背景 通過 規範,修改了包名為全小寫 修改了資料夾目錄 但發現push後,git伺服器的資料夾目錄還是為大寫 解決方法 git預設是不區分大小寫的,意思是你修改乙個檔名 資料夾的時候,git status 是不會提示你有修改的 可以通過git config get core.ignorecase 檢...
git 上傳不區分大小寫
一 背景 專案建立資料夾,提交 後,發現資料夾名稱大小寫不對,改動資料夾名稱 小寫變成大寫 後,push 發現git 倉庫資料夾名稱並沒有變回來,下拉 執行,依然會報錯 二 解決辦法 git預設是不區分大小寫的,意思是你修改乙個檔名 資料夾的時候,git status 是不會提示你有修改的 可以通過...
ASP中的區分大小寫與不區分大小寫
asp中的變數,關鍵字不區分大小寫,這誰都知道。但在有些地方又是區分大小的。在下面這種密碼驗證時就不區分大小寫,這樣就增加了asp不安全因素 select from admin where username username and password password 這時的 password 的值...