Git 不識別檔案名字母大小寫變化

2022-05-23 21:11:28

問題

今天為一個專案撰寫持續構建計劃,撰寫 Jenkinsfile 之後進行構建時報錯:

[2022-05-23 16:54:21] unable to prepare context: unable to evaluate symlinks in Dockerfile path: lstat /root/workspace/Dockerfile: no such file or directory script returned exit code 1

我一開始還以為是我寫的 Jenkinsfile 有問題,可是這個 Jenkinsfile 內容極其簡單,就是拉取程式碼然後docker build,所以百思不得其解。然後仔細一看這個報錯資訊,又 Google 查了,可以確認出錯的原因就是找不到 Dockerfile 這個檔案。

然後我開啟了程式碼倉庫,定睛一看,好傢伙,只有 dockerfile 而沒有 Dockerfile,這我能忍。當時就本地開啟我的 VSCode 就是一個重新命名操作,嗯很好。然後重新命名後一看,Git 狀態沒有絲毫變化,我愣住了。然後又去 Google,發現這是我本機 Git 預設的正常操作,也就是說 Git 它會忽略檔名大小寫變化。

解決方案

為了解決上述這個問題,可以終端執行以下命令:

git mv dockerfile Dockerfile

如果一次重新命名了很多檔案呢

只有一個檔名大小寫變化的這種場景,已經知道怎麼應對了。要是有很多個檔案都是名字大小寫變化,這種情況又該怎麼辦呢。

不要慌,遇到這種場景,首先可以移除所有 git 快取:

git rm -r --cached .

上面