Git
GitHub

Gitで大文字と小文字両方のフォルダができてしまったときにどちらか片方を消す方法

目的

GitHubで作業をしていたらある日こんなディレクトリができてしまいました。

スクリーンショット 2018-05-25 16.30.07.png

ファッ!?
macOSのローカルだとuserApiしかないためファイラーの操作では削除できず、一体何が起こっているんだ・・・と思ったのですが、小文字のフォルダだけを消す方法を備忘録として残しておきます。

1. Git上で大文字小文字の変更を認識するようにする

$ git config core.ignorecase false

としてあげると、Git上で大文字小文字のファイル/フォルダ名変更もTrackするようになります。

このとき、もともと小文字のフォルダに入っていると認識されていた中身のファイルが大文字への変更が認識されることが原因でGitに差異が発生するかもしれません。きちんとcommitしておきましょう

$ git commit -m "userapi to userApi"

2. 小文字のフォルダをgit上から削除する

$ git rm -r someDir/userapi

とすると、中にはいっているファイルも含めGit内にトラックされていた小文字フォルダがすべて削除され、GitHub上からも消えます。

あ、で、変更した分をcommitします!

$ git commit -m "remove userapi"

最後に、設定したconfigをtrueに戻しておきましょう

$ git config core.ignorecase true

ちゃんとmergeされるまではこれが残ってるとcheckoutのときに苦労します・・・

以上です!