Quando digito git status
, vedo:Problema con la ridenominazione di una directory in git in minuscolo mentre ignoreLowercase = True
# On branch master
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: DIR/a
#
Tuttavia, nella mia directory di lavoro vedo che questo file è effettivamente chiamato dir/a
(notare il minuscolo dir
anziché DIR
).
Domanda: voglio aggiungere questo modificato a
file per l'area di sosta e si impegnano, ma voglio che sia come è nella mia directory di lavoro (che mostra dir/a
) - in contrasto con il modo in cui Git è vedendolo come DIR/a
. Come posso fare questo?
Nota importante:
Purtroppo, non posso semplicemente perché git mv DIR/a dir/a
DIR/a
in realtà non esiste nella struttura di lavoro.
Attualmente il mio file .git/config
mostra ingorecase = true
, quindi so che devo impostarlo uguale a false. Tuttavia, dopo aver fatto nulla, ma cambiare questo flag, un git status
di questo rivela ora:
# On branch master
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: DIR/a
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# dir/
Mi aspettavo questo dato git tiene traccia solo il contenuto, e il passaggio ignorecase renderebbe git pensare è stato aggiunto un nuovo file. Sfortunatamente, git ora pensa che io abbia due file che vengono modificati, quando in realtà ne ho uno solo. Voglio git status
semplicemente mostrare dir/a
(come è nella mia directory di lavoro) anziché DIR/a
, con le stesse differenze di a
che avevo appena creato.
la nota
Se sei curioso di sapere come una situazione così precaria nata in primo luogo, sono riuscito a replicare gli errori stupidi che avevo fatto quando si rinomina in origine il caso del mio directory da DIR
a dir
. Se pensi che questo possa essere d'aiuto per arrivare a una soluzione per questo problema, sarei felice di fare una modifica che rivelasse come ho erroneamente reso git così confuso. (mi coinvolge colpendo accidentalmente mv
anziché git mv
e ignorando il flag ignorecase
e lasciandolo come ignorecase=true
).
NO WAY! Ho avuto questo stesso identico problema. – dinkelk