Учебный материал
Git и GitHub · обязательный маршрут курса
GitHub изучаем с первой практики. В базовом уровне ученик сохраняет собственный проект и находит его историю. В продвинутом — проводит изменение через ветку, pull request и ревью. Отдельной учебной недели не добавляем.
Понятия через действия
| Понятие | Что делает ученик |
|---|---|
| Git | Сохраняет историю изменений файлов проекта |
| GitHub | Хранит удалённую копию репозитория и обсуждает изменения |
| Репозиторий | Открывает папку проекта вместе с историей версий |
| README | Находит описание продукта, запуск и ограничения |
| Diff | Читает, какие строки добавлены, изменены и удалены |
| Commit | Сохраняет выбранное изменение с понятным описанием |
| Push | Отправляет локальные коммиты в свой репозиторий на GitHub |
| Pull | Получает изменения из удалённого репозитория |
| Ветка | Работает над изменением отдельно от main |
| Pull request, PR | Предлагает объединить ветку, показывает изменения и результаты проверок |
| Review | Читает PR, обсуждает замечания и исправления |
| Merge | Объединяет согласованную ветку с main |
GitHub, редактор, Codespaces и AI-модель выполняют разные действия. Сохранение файла в редакторе не равно коммиту; локальный коммит не равен push. Размещение исходников на GitHub не означает, что приложение опубликовано и работает по ссылке.
Вводная практика · моя копия проекта
Внутри блока «GitHub и проба в песочнице» перед базовым уровнем:
- Войти в личный аккаунт GitHub и получить доступ к приватному учебному шаблону.
- Нажать Use this template → Create a new repository. Выбрать свой аккаунт владельцем, понятное имя и Private. Это новая самостоятельная копия, а не fork с общей историей.
- Открыть README, найти src/, docs/ и .devcontainer/. Назвать назначение каждой папки.
- Создать Codespace на своей копии, найти терминал, Source Control и Ports. Убедиться, что preview-порт Private.
- Сделать маленькое изменение, прочитать diff, выбрать файлы, создать commit и выполнить push. Проверить на странице своего репозитория, что появились коммит и нужные файлы.
- Остановить Codespace после практики. Код в Git и данные localStorage браузера сохраняются разными способами.
Если доступ ещё не работает, вводный показ проходит у преподавателя. Обязательная самостоятельная практика с собственным репозиторием переносится в первый базовый урок и остаётся критерием сдачи.
Базовый уровень · сохранение после каждого шага
Урок 1, ориентир 25–35 минут внутри занятия: создать или проверить свою копию, заполнить PROJECT-BRIEF.md и README, сохранить первый осмысленный commit и отправить его. Найти сообщение коммита и изменённый файл на GitHub.
Уроки 2–3: после небольшого изменения посмотреть diff, проверить сценарий, записать результат, сделать commit и push. Не сохранять в одном коммите несколько несвязанных задач. Для базового достаточно Source Control в Codespaces; команды терминала показываем как дополнительный способ.
Урок 4: открыть историю, найти исходную и последнюю рабочую версии, показать diff между ними. На отдельном учебном изменении преподаватель показывает отмену последнего отправленного изменения через revert — новый коммит, сохраняющий историю. Не использовать force push или reset --hard для обычной сдачи. Подготовить README с запуском и ограничениями, предъявить ссылку на репозиторий и финальный коммит.
После каждой отправки ученик сам открывает GitHub: надпись «сохранено» в редакторе не является доказательством push. При расхождении историй останавливается, читает сообщение и обсуждает ситуацию; не принимает автоматически «перезаписать удалённую ветку».
Продвинутый уровень · изменение через PR
flowchart LR
A[Задача и критерии] --> B[Отдельная ветка]
B --> C[Изменение и diff]
C --> D[Проверка, commit и push]
D --> E[Pull request]
E --> F[Ревью и правки]
F --> G[Merge в main]
G --> H[Проверка объединённой версии]
Урок 3: открыть свою ветку, выполнить маленькое изменение, сохранить commit, сделать push и открыть PR в собственном репозитории. В описании: задача, что изменилось, фактические проверки, что не проверено. PR можно открыть на учебное изменение README, чтобы освоить процесс до большой функции.
Уроки 4–5: провести одну сквозную функцию через PR. Прочитать Files changed, оставить учебное замечание, исправить его следующим коммитом и обновить PR. Merge выполняет ученик по согласованным критериям; агент не получает автоматического разрешения на него. Ревью собственного PR полезно для практики, но не заменяет независимую проверку преподавателя.
Урок 6: связать выпуск с коммитом или тегом и описать возврат к рабочей версии. На отдельном учебном примере разобрать конфликт: прочитать обе правки, выбрать итоговое поведение и проверить его после разрешения. Issues и CI/CD остаются дополнительными инструментами; ветка, PR и ревью обязательны.
Доступы и ключи
Работать в собственном репозитории. Private скрывает содержимое от посторонних, но не делает хранение ключей допустимым. Перед commit просмотреть список файлов и diff; .env, auth.json и реальные данные не отправлять. Если ключ уже попал в Git, сначала отозвать/заменить его у провайдера: удаление файла следующим коммитом не убирает секрет из истории.
Приватная ссылка сама по себе не предоставляет преподавателю доступ. Способ сдачи согласовывается отдельно; не менять репозиторий на Public ради проверки и не выдавать пароли. Обсуждение PR и выдача доступа другим людям выполняются владельцем по согласованной задаче.
Обязательная сдача
- Базовый: собственный репозиторий, README, история минимум двух осмысленных коммитов, последний отправленный коммит и объяснение разницы commit/push.
- Продвинутый: собственная ветка и PR, описание фактической проверки, зафиксированное замечание и исправление, объединённая версия и понятный путь возврата.
Эти пункты — учебные критерии, а не отчёт о уже проведённых действиях учеников.
Официальные материалы: GitHub Hello World, GitHub flow, создание копии из шаблона, отмена PR.