Если коллега и сервер поменяли одни и те же строки, git не выбирает за тебя — он кладёт в файл обе версии.
Слияние или git stash pop переносят правки построчно. Когда одну строку поменяли обе стороны, получается конфликт (в Вики): git пишет CONFLICT (content): Merge conflict in <файл>, а git status — both modified. В файле на месте строки появляются маркеры:
Конфликт разбирают руками: оставляют нужное — одну версию или строку, собранную из обеих, — и удаляют три строки маркеров. С маркерами конфиг не пройдёт sudo nginx -t. Потом git add <файл> сообщает git, что конфликт разобран. После конфликта stash pop не удаляет отложенную правку — «The stash entry is kept in case you need it again»; когда она уже в файле, запись убирает git stash drop.
Обнови сервер, когда правки столкнулись
В /etc/nginx/conf.d снова локальная правка, а в репозитории — новый коммит коллеги, и оба дописали сайту по имени в строку server_name. Обнови рабочую копию до версии репозитория так, чтобы в конфиге остались оба новых имени, конфиг проходил nginx -t, а отложенных правок не осталось.
Цели · 0 из 2
- Обновить рабочую копию, не оставив отложенных правок ещё не выполнена
- Собрать оба имени в конфиге без маркеров конфликта ещё не выполнена