私の git プロジェクトでは、昨日、開発者の 1 人がファイル名をすべて大文字からキャメルケースに変更しました。彼の機能ブランチで、マスターにマージされました
リモートマスターを引っ張ってきました。現在、ローカルの git 操作中に、git はファイルのメッセージを大文字 (古い) で追跡されていないものとして表示します。ファイルは上記のフォルダーでコミット状態にありますが、ローカルでは一度も触れていません。
私が試したこと、
- アントラック ツリーをクリアするために使用しようとしまし
git clean -fd
たが、それでも同じエラーが発生します。 - 使用しようとしまし
git rm uupercaseFilename
たが、コマンドが失敗し、名前がどのファイルとも一致しません。 - の無駄な試み
git reset --hard HEAD
。 - I don't see ANY file in
git status
message isnothing to commit, working tree clean
- 最後に、キャメルケース名の新しいファイルを手動で削除する必要がありました - 私の機能ブランチへのチェックアウトはうまくいきました。
feature-x
しかし、ブランチで操作を行うと、再びこのエラーが発生します。
上記のように手動で削除することでこれを修正できます。しかし、この状況を処理する正しい方法があるかどうかを知りたいです。
以下は、ファイル/プロジェクト/パッケージ名の名前を変更して、実行したすべての正確なコマンドです。
[gitbash] :: /c/repo/myrepo/myproject (master)
$ git clean -fd
[gitbash] :: /c/repo/myrepo/myproject (master)
$ git checkout feature-x
error: The following untracked working tree files would be overwritten by checkout:
main/com/my/project/badfile//ALL_CAPS_NAME.java
Please move or remove them before you switch branches.
Aborting
[gitbash] :: /c/repo/myrepo/myproject (master)
$ git rm main/com/my/project/badfile//ALL_CAPS_NAME.java
fatal: pathspec 'main/com/my/project/badfile//ALL_CAPS_NAME.java' did not match any files
[gitbash] :: /c/repo/myrepo/myproject (master)
$ git rm ALL_CAPS_NAME.java
fatal: pathspec 'ALL_CAPS_NAME.java' did not match any files
[gitbash] :: /c/repo/myrepo/myproject (master)
$ git checkout feature-x
error: The following untracked working tree files would be overwritten by checkout:
main/com/my/project/badfile//ALL_CAPS_NAME.java
Please move or remove them before you switch branches.
Aborting
[gitbash] :: /c/repo/myrepo/myproject (master)
$ git reset --hard HEAD
HEAD is now at 5f2918e3fd Merge branch 'feature-Y' into 'master'
[gitbash] :: /c/repo/myrepo/myproject (master)
$ git checkout feature-x
error: The following untracked working tree files would be overwritten by checkout:
main/com/my/project/badfile//ALL_CAPS_NAME.java
Please move or remove them before you switch branches.
Aborting
[gitbash] :: /c/repo/myrepo/myproject (master)
$ cd main/com/my/project/badfile/
[gitbash] :: /c/repo/myrepo/myproject/main/com/my/project/badfile/ (master)
$ ls -lrt
total 12
-rwxr-xr-x 1 gitbash 1049089 1443 Jul 29 17:44 someOtherFile.java*
drwxr-xr-x 1 gitbash 1049089 0 Aug 1 23:01 config/
-rwxr-xr-x 1 gitbash 1049089 3847 Aug 11 12:48 All_Caps_Name.java*
-rwxr-xr-x 1 gitbash 1049089 2349 Aug 11 12:48 someOtherFile2.java*
[gitbash] :: /c/repo/myrepo/myproject/main/com/my/project/badfile/ (master)
$ rm All_Caps_Name.java
[gitbash] :: /c/repo/myrepo/myproject/main/com/my/project/badfile/ (master)
$ cd -
/c/repo/myrepo/myproject
[gitbash] :: /c/repo/myrepo/myproject (master)
$ git checkout feature-x
Switched to a new branch 'feature-x'
Branch 'feature-x' set up to track remote branch 'feature-x' from 'origin'.