15

私は自分の問題を検索しようとしましたが、これに最も近いものはこれです。

git Status で同じファイルが 2 回表示される - ただし、パスのスラッシュ スタイルが異なる

しかし、それは私が抱えている同じ問題ではないようです。

コミットを行っていたところ、同じファイルが 2 回リストされていましたが、大文字と小文字が異なっていました。たとえば、Directory/resource.hDirectory/Resource.h. これで、ディレクトリ内のファイルは 1 つだけになりましたresource.h。Git 拡張機能を介してファイルを見ると、まったく同じように見えます。別の隠しファイルはないようです。ファイルは 1 つだけです。

resource.hそのため、ファイルを削除してコミットし、ファイルを追加して再度コミットすることで、これを修正しようとしました。追加されたファイルが 1 つだけ表示されました。問題を修正したと思っていましたが、別のブランチをチェックアウトしようとすると、次のエラーが発生します。

error: The following untracked working tree files would be overwritten by checkout:
    Directory/Resource.h
Please move or remove them before you can switch branches.
Aborting
Done

ここから何をすればよいのか、まったくわかりません。Git を使用したのは数か月だけで、ブランチのマージやプッシュとプル以外に複雑なことをする必要はありませんでした。

4

1 に答える 1

21

ignorecase = falseこれは、Windowsで、gitを使用せずにファイルの名前を変更するリポジトリがある場合に発生する可能性があります。修正するには、これは機能するはずです

git mv -f Resource.h resource.h
git commit -m 'fix case'

そしてこれはそれが再び起こるのを防ぐはずです。

git config core.ignorecase true
于 2012-12-24T04:24:36.297 に答える