Конфиг сайта lab-site команда держит в общем репозитории /srv/git/lab-site.git, а каталог /etc/nginx/conf.d на сервере — его рабочая копия. Утром коллега отправил в репозиторий новую страницу /status, и сервер нужно обновить: свежие коммиты забирает git pull. Попробуй — и посмотри, в каком состоянии осталась рабочая копия.
Попробуй обновить сервер из репозитория
В /etc/nginx/conf.d забери обновление из репозитория, затем посмотри состояние рабочей копии.
Сначала предположи
В репозитории новый коммит, а на сервере кто-то правил тот же файл и не закоммитил. Что сделает sudo git pull?
Теперь начни упражнение, выполни команду и сверь прогноз с выводом.
git pull скачал коммит коллеги, но в файлы его не перенёс. Что его остановило?
-
Коммит скачан: status пишет «behind by 1 commit», а
sudo git log --oneline HEAD..origin/mainего показывает. Отказ — на переносе в файлы. -
Команда шла через
sudo, от root. Ошибка прав выглядела бы как «Permission denied», а git написал «would be overwritten by merge». -
Строки разные: коммит добавляет
/statusв конец файла, а правка —access_logв начало. git откажет при любой незакоммиченной правке файла, который меняет новый коммит.
git не перезаписывает правку, которой нет в истории, и отказывается переносить коммит в такой файл.