Перейти к содержанию

Модуль 3. Ветвление и другие возможности Git на примере Docker Docs

Памятка по командам

Отмена локальных изменений файла

Если вы по ошибке изменили файл в локальном репозитории, можно вернуть его в исходное состояние:

  • Если измененный файл не был сохранен, нажимайте Ctrl+Z до полной отмены изменений, а затем сохраните файл (Ctrl+S).

  • Если измененный файл уже был сохранен, выполните команду:

    git restore <имя_файла>
    

    Совет

    Чтобы отменить изменения во всех файлах, выполните команду:

    git restore .
    
  • Если измененный файл был не только сохранен, но и добавлен на стейдж, последовательно выполните команды:

    git restore --staged <имя_файла>
    
    git restore <имя_файла>
    

Стейдж (Staging Area)

Если один или несколько файлов изменены и сохранены, их можно отправить на стейдж (Staging Area).

Добавление файла на стейдж:

git add <имя_файла>

Добавление всех измененных файлов на стейдж:

git add .

Удаление файла со стейджа:

git restore --staged <имя_файла>

Удаление всех файлов со стейджа:

git restore --staged .
Commit

Создать коммит:

Исправить заголовок последнего коммита:


Удалить коммит из текущей ветки и вернуть все изменения на стейдж:

git reset --soft HEAD~1
Push и Pull
Работа с ветками

Создание ветки:

Обратите внимание!

Переключение между ветками:

Переключение на предыдущую ветку:

Удаление ветки:

Слияние веток:

Отмена слияния:

Отмена и сброс (если что-то пошло совсем не так)

Если вы столкнулись с ошибкой, которую не можете разрешить, можно сбросить локальный репозиторий. При этом локальный репозиторий в точности скопирует состояние удаленного репозитория.

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

Чтобы выполнить сброс локального репозитория, последовательно выполните команды:

git fetch origin
git reset --hard origin/main

Проверка перед стартом

Убедитесь, что:

  1. В удобном месте на диске вы создали папку dac.
  2. Вы склонировали в папку dac репозиторий docker-docs-course.
  3. Вы запустили vscode и открыли в нем папку репозитория docker-docs-course.
  4. Терминал указывает на эту же папку (docker-docs-course).
Как понять, что я все настроил правильно?

В проводнике vscode:

docker-docs-course\
  _vale
  _vendor
  ...

В терминале внизу:

<путь_к_папке>\dac\docker-docs-course>

При запуске в терминале команды git status:

On branch main
Your branch is up to date with 'origin/main'.

nothing to commit, working tree clean

Практика 1: знакомство с репозиторием Docker Docs

Просматриваем репозиторий, находим знакомые черты, узнаем чуть-чуть, как он собирается и выглядит синтаксис в нем. Как находить файл в репо (два способа).

Практика 2: создание коммитов

Практика 3: создание, переключение и удаление веток

Практика 4: отправка ветки на сервер (git push)

Практика 5: слияние веток и разрешение конфликтов

Важные замечания

  • Ветка main может называться по-другому
  • Более того, ее имя на сервере и у вас может отличаться
  • В гите есть несколько способов сделать одно и то же
  • Не факт, что вам понадобятся именно эти команды - в реальном проекте есть свои строгие правила относительно команд
  • Точно так же, есть правила относительно именования веток и коммитов