Git でファイル名の大文字/小文字を変更するにはどうすればいいですか? 質問する

Git でファイル名の大文字/小文字を変更するにはどうすればいいですか? 質問する

以前とは異なる大文字/小文字を使用するようにファイル名を変更しようとしています。

git mv src/collision/b2AABB.js src/collision/B2AABB.js
fatal: destination exists, source=src/collision/b2AABB.js, destination=src/collision/B2AABB.js

ご覧のとおり、Git はこれに激怒します。私mvも単純な古いコマンドを使用して名前変更を試みましたが、Git は名前変更を認識しません (名前変更として、または新しい追跡されていないファイルとして)。

同じ名前のファイルを大文字と小文字の使い分けを変更するにはどうすればいいでしょうか?私はMac OS X v10.7.3 (Lion) でGit 1.7.9.1を使用しています。Zシェル(zsh)4.3.15。

ベストアンサー1

Git 2.0.1 (2014 年 6 月 25 日) 以降では、git mv大文字と小文字を区別しない OS でのみ動作します

見るコミット baa37bfによるデビッド・ターナー(dturner-tw

mv: 大文字と小文字を区別しないファイルシステムで大文字と小文字を修正するために名前の変更を許可する

git mv hello.txt Hello.txt大文字と小文字を区別しないファイルシステム上の" " は常に " destination already exists" エラーを引き起こします。これは、これら 2 つの名前がファイルシステムの観点から同じパスを参照し、--forceインデックスに記録されたパスの大文字と小文字を修正するときと次のコミットでユーザーが " " を指定する必要があるためです。

このケースを検出し、「--force」を要求せずに許可します。

git mv hello.txt Hello.txtそのまま動作します(もう--force必要ありません)。


他の選択肢は次のとおりです。

git config --global core.ignorecase false

そして、ファイルの名前を直接変更し、git add してコミットします。

CMDでは動作します。git bash(Windows)セッションでは失敗する可能性があります(ルイ・カロン答え

次のように指摘されている。ジャキノコードコメントローカルリポジトリ自体にその設定がある場合:

git config --local core.ignorecase false

おすすめ記事