概要
git管理下のディレクトリをリネームする際にエラーが発生したのでそのメモです。
git管理下のディレクトリをリネームする際、mvコマンドやGUI操作でのリネームではgitに変更が反映されず困っていました。
調べてみるとgit mvコマンドなるものが存在し実行してみたのですがエラーが発生して困った話です。
目次
参考サイト様
- Git で管理しているファイルのリネームを git mv でなく mv してしまったときにどうなるのか調べてみた - Qiita 🔗
- macos - git mv and only change case of directory - Stack Overflow 🔗
- Gitでファイル名&ディレクトリ名の大文字/小文字を変更方法 - Qiita 🔗
環境
- Mac OS X Mojave 10.14.3
$ git version
git version 2.17.2 (Apple Git-113)
事象
やりたかったこと
Hogeディレクトリをhogeディレクトリにリネームしようとした。- 最初はGUI操作でリネームしたがgitへ反映されなかったためディレクトリ名を元に戻した。
- ぐぐったら
git mvコマンドなるものがあったので実行した。
git mvコマンドで以下のエラーが発生
git mvコマンドを実行したところ下記のエラーが発生した。
$ git mv Hoge/ hoge/
fatal: renaming './Hoge' failed: Invalid argument
原因
不明。
原因まで調べてない。
とにかくgitは同名でのリネームを一発で実施させてくれない。
対策
別のディレクトリ名にリネーム後、再び目的のファイル名にリネームする。
目的はディレクトリ名をHogeからhogeに変更する。流れ的には以下の形
Hoge→Hoge_tempHoge_temp→hoge
$ git mv Hoge Hoge_temp
$ git mv Hoge_temp hoge
雑感
ふつーにGUI操作でリネームしたらGitに変更が反映されなくて
また、元に戻してgit mvでリネームするの大変でした。