フォルダの名前を「Frameworks
」から「frameworks
」に変更したかったのですが、gitでは新しい小文字の名前を追加できませんでした。ファイル名の大文字と小文字を区別しないと思いますか?
git add frameworks/ -f
役に立たなかった
あなたが試すことができます:
"git mv -f foo.txt Foo.txt"
(注:これは git 2.0.1以降は不要 )ignorecase
をfalseに設定します。しかし、ケースの問題(たとえばWindowsの場合)は msysgit issue 228 に記載されています(これもまた、これは 今-2014年6月-git 2.0.1で動作します )
nTFSに加えてGitセマンティクスのようなUnixを強制する設定ファイルには、常に
ignorecase
をfalseに設定するオプションがあります。
Gitはこの動作をサポートしていますが、デフォルトではありません-NTFSの観点からはa.txt
とA.txt
は同じものです-したがって、Gitはほとんどのユーザーが期待するようにそれを維持しようとします
より良い回避策として、次のことができます
git mv foo.txt foo.txt.tmp && git mv foo.txt.tmp Foo.txt
、これもディスクに保存されているファイルの大文字と小文字を変更します。
このブログ投稿 MacOでの同じ問題を示しています リベース中:
Mac OS Xファイルシステムのデフォルトでは、大文字と小文字は区別されません。
FFFFFF.gif
はffffff.gif
と同じです。Gitインデックスからではなく、ファイルシステムからのみ問題のファイルを削除する場合は、問題のブランチをマージして、何も起こらなかったかのようにファイルを復元させることができます。
手順は非常に簡単です。
$ rm file/in/question.gif $ git merge trunk
とにかく git mvの意味を覚えておいてください :
mv oldname newname
git add newname
git rm oldname
なので、newname
とoldname
が競合する場合は、それらを異なるものにする必要があります(たとえそれが短期間であっても)、したがってgit mv foo.txt foo.txt.tmp && git mv foo.txt.tmp Foo.txt
GithubでHostを使用している場合は、そのWebサイトで名前変更機能を使用できます。 5つのファイルの大文字と小文字を変更する必要があり、それが本当にうまく機能していることがわかりました。
私は同様の問題を抱えていて、リモートリポジトリで変更するための新しいフォルダー名(大文字と小文字の違い)を取得できませんでした。最も簡単な解決策は、ファイルをリポジトリから移動してコミットすることであることがわかりました。削除アクションのトリガー。次に、再度追加します。追加すると、適切なケースが含まれています。