EN TW

今天手殘把某個資料夾大小寫打錯,導致rails沒辦法找到正確的檔案,但想改名的時候發現,如果直接改大小寫,git並不會抓到修改!

雖然可以下 git config core.ignorecase false 讓git改成case-sensitive,但是不知道對其他專案會造成什麼副作用。

翻幾篇網路教學後(How do I rename a file in git that differs by case only?git mv and only change case of directory

最後我的解決方式如下: mv Typo typo_temp git add . # 加入 staging area mv typo_temp typo git add . git commit -m “Fix case typo”看到的教學裡,有些會在temp步驟就commit一次,我只有放到staging area而已,但還是可行的。

====

附帶一提,我那該死的錯誤是:

我想讓/users能routes去/app/controller/api/users_controller (類似scope :module的用途),目的是保持API位置,但把code移到子目錄: # routes.rb get “users” => “api/users_controller#index” 但是,沒錯,就是那個api/ 子資料夾的大小寫打錯了!

很機車的是他在我的開發機上很正常,一上production機器就炸 ActionController::RoutingError (uninitialized constant Api)

但理論上這樣子連開發機都該炸啊!?真是奇妙@_@