📘

Gitでディレクトリ名の大文字小文字を変更したい

2024/02/20に公開

先日、ディレクトリ名を小文字から大文字に反映しようとしたところGit上では差分を検知してくれないという問題にぶつかりました

その時に見つけたのがこちらの記事です
https://zenn.dev/aki_artisan/articles/f7a6ff22215d4c

2つの方法が書かれていて、とても参考になったので興味ある方はぜひ目を通してみてください!

今回は上記の記事で書かれていた1つ目の方法を参考にしたのですが、この記事ではあくまで"ファイル"を対象にしていたので"ディレクトリ"に対応するためには少しだけ工夫が必要でした
その点について本記事では触れていこうと思います!

やりたいこと

文章だけだと伝わっているかわからないので、写真も交えてやりたいことを確認していきます

写真のようなディレクトリがあるとします

このディレクトリ名をComponentsからcomponents(Cを小文字に)に変更したいというのが今回やりたいことです

ただ変更するだけでは変更を検知してくれません

git rm --cached

とりあえず参考にした記事に書いてあった方法を試してみます

git rm --cached ./src/Components

すると以下のようなエラーが出ます

fatal: not removing './src/Components' recursively without -r

-rオプション

エラーに書いてある通りなのですが、-rオプションを指定していないために今回のようなエラーが出てしまいます
-rオプションは、ディレクトリ内のファイルを再帰的に削除するために必要となります
なので今回打つべきコマンド以下になります

git rm --cached -r ./src/Components

実行すると大文字から小文字への変更が確認できると思います

おまけ

別のやり方として、以下のように一度全く違う名前を経由する方法もあります
Components -> Component(一旦コミット) -> components

コミット履歴が少し増えますが場合によってはこれでもいいかもですね!

おわりに

最後まで読んでいただきありがとうございました!
いつか役に立てば幸いでございます

Discussion