Site icon Mr. 沙先生

Git 如何判別檔案名稱大小寫不同 ignorecase

今天 RD 遇到要將原本 Curl.php 的檔案改名成 curl.php,但是在 commit 的時候一直判別為原本的 Curl.php,無法修改檔案名稱大小寫於是乎上傳了兩個相同名稱的 curl.php & Curl.php

 

結果 commit 後只上傳了 curl.php,而 Curl.php 卻無法 commit 進去 git 倉庫

 

這是因為在 Git 的 Windows 和 MacOS 的 File system 底下會將 “名稱相同” 但大小寫不同的檔案辨認為同一個檔案,如果你需要修改大小寫檔名的時候就會無法 update,只有在 Linux 才會區別大小寫不同為不一樣的檔案。

 

 

針對這個問題 git 也有提供相對應的解法:ignorecase

$ git config -l | grep ignorecase
core.ignorecase=false

# git config --global core.ignorecase true 忽略大小寫
$ git config --global core.ignorecase false 強制區分大小寫

# 再次 commit curl.php & Curl.php
$ git add .
$ git status

On branch master

Initial commit

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)

    new file:   Curl.php
    new file:   curl.php

 

這是使用 git 常見遇到的狀況,建議都使用 core.ignorecase=false 去區分大小寫

 

 

 

 

 

 

 

 

Exit mobile version