2016-04-22 10 views
2

上(ケースのみ)ディレクトリの名前を変更それはDOCSは、すでに既存のディレクトリとディレクトリがその中に移動させなければならないと考えているので、Gitは失敗何らかの理由

$ git mv --force docs DOCS 
Rename from 'docs' to 'DOCS/docs' failed. Should I try again? (y/n) n 
fatal: renaming 'docs' failed: Permission denied 

:同じ結果に - 強制オプション。私は&の名前を一時ディレクトリ名を使用してコミットしてから&に変更することができますが、最終的な名前にコミットすることはできますが、他のディレクトリの中に移動したくないというGitに伝える方法はありませんか?

答えて

3

2ステップで実行できます。

$ git mv docs DOCS2 
$ git mv DOCS2 DOCS 

それはあなたが同じ文字にファイル名を変更傾ける包み敏感に窓があるので

+0

gitで内部的にこれを行うことができないのはなぜですか? –

+0

Gitはもともと大文字と小文字を区別するLinuxベースのシステムで動作するように作られました。 Windowsはそうではありません。 Windowsでは、同じ場所に "ABC"と "abc"という名前の2つのフォルダを持つことはできません。この問題は、gitとは違って、SVNや他のアプリケーションで明示的にその問題を処理していないウィンドウ下でも同様の動作が起こります。問題はOSにあります。 –

+0

WindowsはdocsからdocsまたはDocsへのディレクトリの名前を変更できるため、この問題はOSにはありません。これは、大文字と小文字を区別しない大文字小文字を区別しないファイルシステムをサポートしていないツールの問題です。 –

0

これはgitの制限ではなく、WindowsとNTFSの制限です。ファイルシステムは、単純なケース変更で変更されたものを信じていません(そして、実際には変更に失敗します)。名前を変更して(一時的な名前で)コミットするか、Windows以外のコンピュータで変更してください。

+1

Windowsエクスプローラでは、大文字と小文字を区別せずにディレクトリの名前を変更できるため、最初の文章は正しいとは限りません。 –

-1

に動作します。

git bashはcygwinとその大文字と小文字を区別しているので、git bashから実行できます。

ここはgit bashのデモです。 (Windows 7) enter image description here

+0

ディレクトリを使用して再試行してください。 –

関連する問題

 関連する問題