СОЗДАЁМ · С ИИ← К программе
Оглавление материала

Учебный материал

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 и проба в песочнице» перед базовым уровнем:

  1. Войти в личный аккаунт GitHub и получить доступ к приватному учебному шаблону.
  2. Нажать Use this template → Create a new repository. Выбрать свой аккаунт владельцем, понятное имя и Private. Это новая самостоятельная копия, а не fork с общей историей.
  3. Открыть README, найти src/, docs/ и .devcontainer/. Назвать назначение каждой папки.
  4. Создать Codespace на своей копии, найти терминал, Source Control и Ports. Убедиться, что preview-порт Private.
  5. Сделать маленькое изменение, прочитать diff, выбрать файлы, создать commit и выполнить push. Проверить на странице своего репозитория, что появились коммит и нужные файлы.
  6. Остановить 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.