概要
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_temp
Hoge_temp
→hoge
$ git mv Hoge Hoge_temp
$ git mv Hoge_temp hoge
雑感
ふつーにGUI操作でリネームしたらGitに変更が反映されなくて
また、元に戻してgit mv
でリネームするの大変でした。