3

リポジトリ内のファイルの名前をローカルで変更したい。私もです:

git mv -f hashpq.py HashPQ.py

そしてこれを入手してください:

warning: destination exists; will overwrite!

次に、次の方法でgitのステータスを取得します。

git status

そして、この応答を取得します:

# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#   deleted:    hashpq.py
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#   hashpq.py

しかし、私が自分のディレクトリをリストした後:

ls

私はこれを持っています:

CHANGLELOG  hashpq.py  NEXTPLAN  README  TODO

以前の名前でhashpq.pyは変更されていません。ファイルの名前をHashPQ.pyに変更するにはどうすればよいですか?

4

3 に答える 3

7

名前を一時的な名前に変更してから、目的の名前に変更してみてください。

git mv hashpq.py _hashpq.py
git mv _hashpq.py HashPQ.py
git commit

mvこれは、ファイルシステムで大文字と小文字が区別されない場合の通常のコマンドと同じ動作です。

于 2012-05-15T06:47:42.380 に答える
1

-fgit 2.0.1(2014年6月25日)を使用すれば、もう必要ありません。

David Turner(によるcommit baa37bfで詳しく説明されているように、 Agit mv hashpq.py HashPQ.pyは大文字と小文字を区別しないOSでのみ機能します。dturner-tw

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

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

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

于 2014-07-27T08:04:11.683 に答える
0

私のファイルシステムはNTFSでしたが、ご存知のように、基本的にファイル名では大文字と小文字が区別されません。したがって、最初にasghar.pyに変更してから、HashPQ.pyに変更する必要があります。

皆さんありがとう。

于 2012-05-17T13:05:35.750 に答える