Git для домашних заданий¶
Зачем это нужно?
Git — это стандарт индустрии. Каждый разработчик в любой компании пользуется Git каждый день. Научиться сдавать ДЗ через Git = освоить инструмент, который пригодится в универе, стажировке и работе. Это не сложнее, чем отправить файл в облако — просто по-другому.
Что такое Git и зачем он нужен¶
Git — система контроля версий. Он запоминает каждое изменение в коде: кто, что и когда изменил. Можно вернуться к любой предыдущей версии.
GitHub — сайт, где хранятся репозитории (папки с кодом под управлением Git). Туда загружаешь свои решения.
В реальной разработке работа выглядит так:
main ──────────────────────────────────► (стабильная версия)
│ ▲
▼ │
feature/задача ──► PR ──► merge
Мы будем делать то же самое: одна ветка = одно домашнее задание → преподаватель проверяет через Pull Request.
Установка Git¶
- Скачай установщик с git-scm.com/download/win
- Запусти
.exe, везде нажимай Next (настройки по умолчанию подходят) - Проверь установку — открой PowerShell или CMD:
Первоначальная настройка¶
Выполни один раз после установки:
Зачем это нужно?
Git подписывает каждый коммит твоим именем. Так преподаватель видит, чья это работа.
Создание репозитория для ДЗ¶
1. Создай репозиторий на GitHub¶
- Зайди на github.com → зарегистрируйся (если нет аккаунта)
- Нажми New repository (зелёная кнопка)
- Название:
ege-homework(или любое другое) - Поставь Private (только ты и преподаватель видят)
- Нажми Create repository
2. Склонируй репозиторий к себе¶
3. Скопируй шаблон в репозиторий¶
Запусти скрипт-генератор прямо в папке репозитория:
Закоммить начальную структуру:
Рабочий процесс — сдача одного ДЗ¶
Шаг 1 — Создай ветку для задания¶
# Всегда создавай ветку от актуального main
git checkout main
git pull
# Новая ветка — название понятное
git checkout -b hw/n14-программирование
Соглашение об именовании веток
Используй формат hw/nXX-тема:
hw/n01-графы— задание 1hw/n14-программирование— задание 14hw/n27-pandas— задание 27
Шаг 2 — Реши задание¶
Открой нужную папку, напиши решение в solution.py, заполни README.md.
Шаг 3 — Зафиксируй изменения (коммит)¶
# Посмотри что изменилось
git status
# Добавь файлы задания
git add N14_основы_программирования/
# Создай коммит с понятным сообщением
git commit -m "hw(n14): решение задания на подсчёт делителей"
Как писать сообщения коммитов
Хорошо: hw(n14): решение задания на подсчёт делителей
Плохо: fix, 123, готово, задание
Шаг 4 — Отправь на GitHub¶
Шаг 5 — Создай Pull Request¶
- Зайди на свой репозиторий на GitHub
- Появится жёлтый баннер — нажми Compare & pull request
- Название PR:
ДЗ: Задание 14 — программирование - В описании напиши: что решал, что было сложно
- Нажми Create pull request
Готово! Преподаватель получит уведомление, проверит код прямо в PR и оставит комментарии к конкретным строкам.
Как выглядит проверка¶
Преподаватель видит твой код с подсветкой изменений:
+ count = sum(1 for x in numbers if x % 3 == 0) ← добавил строку
- for i in range(len(numbers)): ← убрал старый код
Может оставить комментарий к любой строке:
Преподаватель: Хорошее решение! Но можно ещё короче:
count = numbers.count(lambda x: x % 3 == 0)— как думаешь?
Ты отвечаешь прямо в комментарии, исправляешь код, пушишь ещё раз в ту же ветку — PR обновляется автоматически.
Шпаргалка по командам¶
| Действие | Команда |
|---|---|
| Посмотреть статус | git status |
| Посмотреть изменения | git diff |
| Создать ветку | git checkout -b имя-ветки |
| Переключиться на ветку | git checkout имя-ветки |
| Добавить файлы | git add . или git add файл |
| Сохранить изменения | git commit -m "сообщение" |
| Отправить на GitHub | git push origin имя-ветки |
| Обновить с GitHub | git pull |
| Список веток | git branch |
| История коммитов | git log --oneline |
Частые вопросы¶
Нечаянно закоммитил в main, что делать?
Как обновить ветку, если main изменился?
Репозиторий приватный — как дать доступ преподавателю?
GitHub → Settings → Collaborators → Add people → введи username преподавателя.
Итог
Через несколько ДЗ этот процесс станет автоматическим. А когда придёшь на стажировку или в команду — уже будешь знать, как работать с Git. Это один из самых ценных навыков, который можно получить ещё в школе.