Проблема с переименованием каталога в git в нижний регистр при ignoreLowercase = True

Когда я печатаюgit status, Я вижу:

# On branch master
# Changes not staged for commit:
#   (use "git add ..." to update what will be committed)
#   (use "git checkout -- ..." to discard changes in working directory)
#
#   modified:   DIR/a
#

Тем не менее, в моем рабочем каталоге я вижу, что этот файл на самом деле называетсяdir/a (обратите внимание на строчныеdir вместоDIR).

Вопрос: Я хочу добавить это изменениеa файл в область подготовки и фиксации, но я хочу, чтобы это было так, как в моем рабочем каталоге (который показываетdir/a) -в отличие от того, как мерзавец видит это какDIR/a, Как я могу это сделать?

Важная заметка:

К сожалению, я могут простоgit mv DIR/a dir/a так какDIR/a Безразлично»на самом деле существует в рабочем дереве.

В настоящее время мой.git/config файл показываетingorecase = true, поэтому я знаю, что я должен установить это равным false. Однако, не делая ничего, кроме изменения этого флага,git status из этого сейчас раскрывается:

# On branch master
# Changes not staged for commit:
#   (use "git add ..." to update what will be committed)
#   (use "git checkout -- ..." to discard changes in working directory)
#
#   modified:   DIR/a
#
 # Untracked files:
#   (use "git add ..." to include in what will be committed)
#
#   dir/

Я ожидал этого, поскольку git отслеживает только содержимое, а переключение ignorecase заставит git думать, что был добавлен новый файл. К сожалению, git теперь думает, что у меня есть два файла, которые были изменены, хотя на самом деле у меня есть только один. я хочуgit status просто показатьdir/a (как это в моем рабочем каталоге) вместоDIR/aс такими же различиямиa Я только недавно сделал.

Дополнительное примечание

Если вам интересно, как такая нестабильная ситуация возникла в первую очередь, мне удалось воспроизвести глупые ошибки, которые я допустил, когда первоначально переименовал дело моего каталога изDIR вdir, Если вы думаете, что это поможет найти решение этой проблемы, я был бы рад сделать редактирование, которое показало бы, как я по ошибке запутал git. (это вовлекает меня случайно ударитьmv вместоgit mvи не зная оignorecase флаг и оставив его какignorecase=true).

Ответы на вопрос(2)

Ваш ответ на вопрос