kinoppyd.dev

blog

products

accounts & contact

MacのGitでmvしたらコケた

posted at 2014-04-21 18:49:36 +0900 by kinoppyd

前にも一回同じ事で困ったことがあるけど、二度と困らないようにブログにしておく。

gitを使ってファイルを管理しているとき、gitに無断でファイルの移動はやってはいけない。gitがそのファイルを追いかけてくれなくなるからだ。

git mv hoge foo

って感じに、ファイルを移動することで正しく追跡を続けてくれる。

困ったのは、Macを使っているときに、次のようなファイル移動をしようとしたとき。

git mv FizzBuzz Fizzbuzz

こういうエラーがでる。

fatal: destination exists, source=FizzBuzz, destination=Fizzbuzz

何のことかというと、Macのファイルシステムではファイル名の大文字と小文字を区別しないそうな。

Git でファイル名やディレクトリ名の大文字/小文字を変更する方法

まあでも、次の操作はできるんだけどね。よくわからない。(あと、Windowsもどうなるかわからない)

touch hoge
mv hoge Hoge

とりあえず、解決策としては、-f を付ければいい。

Gitにおいて非常に怖いコマンド -f だが、やむを得ない

git mv -f FizzBuzz Fizzbuzz

これでいけた。