У нас будет два типа обновлений: обычное и конфликтное.

Обычное обновление

Как правило это будут незаметные для вас небольшие обновления в системе, либо добавление новой домашки.

Как уже было написано в общей инструкции, получить изменения в локальный репозиторий в случае обычного обновления можно так:

Обновления системы обычно будут происходить точно так же, максимально простым и удобным для вас способом.

Конфликтное обновление

<aside> 🚨 Однако иногда мы будем обновлять .cpp/.h файлы домашек, в которых уже написаны ваши решения - в таком случае у нас с вами будет конфликт 😱

</aside>

О таких обновлениях мы будем явно вас предупреждать и говорить что делать. Мы решили пока не учить вас как правильно исправлять конфликты (т.к. это довольно сложно), а пользоваться костылями ⚒️.

К сожалению, ваше первое обновление “Stella” именно такое 😊.

Как обновиться с конфликтом ?

  1. Скопировать папку с репозиторием куда-нибудь рядышком (aka забэкапить свои наработки).

  2. В оригинальном репозитории выполнить команды:

    git checkout master

    git fetch

Внимание!

<aside> 🚨 Следующие шаги удалят абсолютно все ваши локальные решения, убедитесь что вы точно выполнили шаг #1.

</aside>

  1. В оригинальном репозитории выполните команду:

    git reset --hard origin/master

    Если все прошло успешно, то команда git show должна показать вам такую картину. Если картина отличается, то напишите в чат.

    Screen Shot 2022-10-13 at 07.12.22.png

  2. Пересоздайте в чистом виде свои ветки из открытых PR следующей командой:

    git branch -f submit/00_test master

    вместо 00_test master подставьте по очереди каждую свою ветку.

  3. На всякий случай перезапустите свою IDE, чтобы она подхватила новые файлы с настройками.

  4. Скопируйте для каждой задачи свой код из бэкапа в основной репозиторий.

  5. Переключитесь обратно на свою ветку с домашкой (git checkout submit/04_arrays), сделайте сабмит и продолжайте работать как обычно - вы большой молодец ! 👏