Я работаю в небольшой компании, и наше репозиторий Git немного испорчено. Я только что сделал git pull
, и мои изменения, сделанные ранее сегодня, пропали!
Когда я работаю над HEAD в основной ветке, git log
показывает мой последний коммит b94940c63ef965ce45b0d64ccfba4359134d2552 в его истории.
Теперь, если я сделаю git log filename
для проблемного файла, потерявшего мои изменения, этот коммит не будет показан (отображается только более ранний коммит).
Выполнение git log --follow filename
, мой коммит b94940c63ef965ce45b0d64ccfba4359134d2552 отображается как самый последний.
И конечно же, если я сделаю:
git checkout b94940c63ef965ce45b0d64ccfba4359134d2552
git log filename
тогда коммит показывается и мои изменения в файле!
Другими словами, сделанный мной коммит отображается в истории веток (блокирует слияние веток), но отдельные измененные файлы не имеют этого коммита в своей истории! (если я явно не извлечу этот коммит).
Вопросы:
Как, черт возьми, это произошло?
Как это исправить? (У нас проблемы с несколькими файлами в нашем репо)