Според дискусията в коментарите, мисля, че проблемът е, че git всъщност не смята, че сте променили нещо, когато сте преименували файла. Искате да вижда ViewMVC.java
като изтрит и ViewMvc.java
като нов файл (който понякога ще докладва като ViewMVC.java renamed to ViewMvc.java
), но предполагам, че поради настройките за нечувствителност към главни и малки букви той просто каза „не, нищо не е променено, което има значение“.
Проблемът тогава е, че дървовидният обект - по същество текстов файл, който се чете като списък с директории - все още има старите главни букви. Отново поради настройките за нечувствителност към главни букви, той с радост ще адресира файла, използвайки различни главни букви, ако такива съществуват по този начин в работното дърво; но при клониране по подразбиране е капитализацията в дървовидния обект.
И така, трябва да го накарате да актуализира дървовидния обект (в идеалния случай във всеки ангажимент за съвет, който ви интересува).
В система с fs, чувствителен към малки и главни букви (и git config, зададен съответно) можете просто да клонирате репото, да преместите файла (отново), git add .
, да използвате git status
, за да потвърдите, че вижда преименуване, и да извършите комит.
За да го поправя на система Windows, единственото нещо, което мисля да опитам, е да изтрия файла, да го ангажирам, след това да създам отново файла с правилно име на файл с главни букви и да го направя отново.
27.03.2017
git checkout HEAD^ -- ViewMVC.java
, преименуване на файла, след товаgit add
и т.н. 27.03.2017