Я пытаюсь ускорить мою ветку четырьмя коммитами, сделанными кем-то другим. Тем не менее, Git продолжает выдавать мне эту ошибку:
error: Your local changes to the following files would be overwritten by merge:
path/to/file/A
path/to/file/B
etc.
Please commit your changes or stash them before you merge.
Aborting
Согласно Как игнорировать ошибку при 'git pull' о моих локальных изменениях, которые будут перезаписаны слиянием? Я попытался git stash push --include-untracked
, затем git stash drop
, но это привело к той же ошибке.
Следуя указаниям в ответе на Git, показывая идентичные файлы как измененные , я попытался rm .git/index; git reset
, и это сократило список файлов, которые Git показали как измененные, но некоторые из них все еще были. git reset --hard
восстановил список «измененных» файлов до его первоначального размера.
Я также попытался удалить .gitattributes (в котором есть строка text=auto
), но файлы по-прежнему отображаются как измененные. Их окончания строк все равно LF, так что я сомневаюсь, что настройка окончания строки повлияет на них.
В момент отчаяния я попытался git rm -r -f .
, который удалил все, кроме каталога .git
, но при попытке чтобы вытащить I все еще получить ошибку об этих файлах с изменениями, которые будут перезаписаны, даже если файлы будут удалены. Конечно, когда я делаю git reset; git status
, у меня все файлы восстановлены, и тот же набор файлов показывается как измененный.
Я мог бы просто удалить весь репозиторий и повторно клонировать его, но я бы хотел бы выяснить, что происходит. Что вызывает такое поведение?