38

フォルダとファイルの大文字と小文字を変更する必要があります。私が最初に試したのはフォルダの名前を変更することでしたが、Gitは変更を取得しませんでした。だから私は使ってみgit mv -f controller Controllerましたが、それは言う:

fatal: renaming 'application/classes/controller failed: Permission denied

グローバル無視ケースフラグを設定してみました:

git config --global core.ignorecase false

しかし、それでも機能しません。フォルダをリポジトリから移動し、削除してから再度追加することを提案している人もいますが、他の人がリポジトリをプルすると、この変更が反映されますか?他に試すことができるものはありますか?

編集:ファイルに対しては機能しますが、フォルダーに対しては機能しません。

4

4 に答える 4

71

コメントの要約として、中間の一時的な名前を使用してディレクトリの名前を変更する必要があります。例えば

git mv controller Controller-tmp
git mv Controller-tmp Controller

rename(2)これは、のMinGW実装がこの操作をサポートしていないという事実と関係があると思います。このスレッド、CRTrename実装に関するMSDNドキュメント、およびMoveFileEx関数のドキュメントを参照してください。

于 2013-01-29T10:03:19.107 に答える
12

VisualStudioとそのパスに関連するすべてのWindowsエクスプローラーフォルダーを必ず閉じてください。

于 2018-03-08T17:31:06.597 に答える
0

以下のように、フォルダの名前を中間フォルダに変更した後、必ずインデックスに変更を追加してください。

git mv oldfolder newfolder

git add -u newfolder

git commit -m "changed the foldername whaddup"

参照

于 2014-06-30T11:52:52.410 に答える
0

以下を実行する以外にこれを解決することはできませんでした

  1. この問題を解決するための一時的なブランチとして、フォルダー名の大文字と小文字が変更される前にコミットからブランチします。
  2. チェリーピッキングは、コミットする前にフォルダのケース名の変更を解決するためにコミットします。
  3. 古いブランチをこの新しい一時ブランチの最終コミットにリセットします。
  4. 一時ブランチを削除します。
于 2019-08-01T13:47:13.933 に答える