← Маршрут ML-инженерии

Урок · 2 мин чтения · упражнения и самопроверка

Основы Git

После урока: объяснить репозиторий и выполнить упражнение «Создать репозиторий решения и объяснить diff», обосновав выбранный подход..

Перед началом

История изменений

Сохранение файла меняет текущий текст. Коммит фиксирует выбранные изменения в истории репозитория. Git полезен, когда нужно сравнить рабочее решение с предыдущим или сохранить отдельный эксперимент.

В папке проекта выполните git init. Затем git status покажет новые и изменённые файлы. Добавьте исходник: git add main.py или git add main.cpp. Проверьте подготовленные изменения через git diff --cached. Создайте коммит: git commit -m "Add first solution". Если Git просит имя и почту автора, настройте их согласно официальной инструкции; не используйте чужие данные.

Рабочая копия и подготовленные изменения

git diff показывает изменения, которые ещё не подготовлены к коммиту. git diff --cached — подготовленные. Если после git add снова изменить файл, новая часть не попадёт в коммит автоматически: её нужно отдельно добавить.

Для эксперимента создайте ветку git switch -c experiment. Измените алгоритм, запустите те же тесты и сохраните новый коммит. Перед переключением ветки изучите git status: незавершённая работа не должна случайно потеряться. Не используйте принудительное удаление изменений как обычный способ навигации.

Что исключить

Добавьте в .gitignore окружение .venv/, каталог сборки build/ и локальные секреты. Правило игнорирования не удаляет уже отслеживаемый файл из истории. Пароли и токены не должны попадать в репозиторий даже на короткое время.

Локальный коммит не означает отправку на удалённый сервер. Для обмена используются fetch, pull и push, но сначала научитесь уверенно читать локальный diff и сохранять проверенную программу.

Сделайте самостоятельно

Создайте два коммита: первое решение и добавленный граничный тест. Просмотрите git log --oneline.

Ответ и критерии проверки

В журнале должны быть две отдельные записи с осмысленными сообщениями. Перед каждым коммитом diff --cached должен содержать только задуманные изменения.

Проверьте понимание

1. Какая команда показывает подготовленные изменения?
2. Можно ли хранить токен в коммите, а потом просто удалить файл?

Редакция SubTree · Проверка примеров: 26.10.2026

Исполняемые примеры проверены автоматическим запуском; источники сверены при подготовке.