Git で管理しているプロジェクトで
フォルダ名の大文字小文字を変更しようとしたら
うまくいかなくて悩んだのでメモ。
素直にこうやると
% git mv yebisu/ Yebisu/
何かおこられた。
fatal: renaming 'yebisu' failed: Invalid argument
ディレクトリじゃなくてファイルでやるとわかりやすい。
fatal: destination exists, source=duvel.jpg, destination=Duvel.jpg
「移動先にはファイルが存在するよ」ということでおこられます。
Mac のファイルシステムでは、
大文字小文字の違いがあっても同じものと見なされるんですよね。
Linux なら問題ないと思うんだけど。
ファイルの場合
-f
オプションで解決。
% git mv --help OPTIONS -f, --force Force renaming or moving of a file even if the target exists
これで、移動先が存在しても名前の変更や移動を強制的にやってくれる。
% git mv -f duvel.jpg Duvel.jpg
ディレクトリの場合
-f
つけてもダメだった。
仕方ないのでいったん別の名前にしてから
% git mv yebisu/ _yebisu/
もう一度移動したら
% git mv _yebisu/ Yebisu/
できました。
何だか釈然としないんだけど
いまのところ他に解決方法が思いつきません。
実はこれがものすごく無駄な作業で
もっと賢い方法があるんだったらこっそり教えてください。