Фаза 00 · урок 02

Git и совместная работа

Цель урока: Вам предстоит написать сотни файлов с кодом в 20 фазах. Без контроля версий вы будете терять работу, ломать то, что невозможно отменить, и не сможете сотрудничать с другими людьми.

Текущий релиз AlexBred.com: первые 100 уроков русскоязычной программы.

Курс
AI Engineering from Scratch
Фаза
Настройка и инструменты
Чтение
4 мин.
Проверено
Содержание урока
  1. Цели обучения
  2. Проблема
  3. Концепция
  4. Собираем сами
  5. Шаг 1. Настройте Git
  6. Шаг 2. Повседневный рабочий цикл
  7. Шаг 3. Ветки для экспериментов
  8. Шаг 4. Работа с репозиторием этого курса
  9. Используем готовое
  10. Упражнения
  11. Ключевые термины

Контроль версий — не дополнительная возможность. Здесь будут отслеживаться каждый эксперимент, каждая модель и каждый созданный вами урок.

Тип: Теория Языки:Предварительные требования: Фаза 0, урок 01 Время: около 30 минут

Цели обучения

  • Настроить идентификационные данные Git и освоить повседневный цикл add, commit и push.
  • Создавать и сливать ветки для изолированных экспериментов, не нарушая работу main.
  • Написать .gitignore, исключающий контрольные точки моделей и большие двоичные файлы.
  • Просматривать историю коммитов с помощью git log, чтобы понимать развитие проекта.

Проблема

Вам предстоит написать сотни файлов с кодом в 20 фазах. Без контроля версий вы будете терять работу, ломать то, что невозможно отменить, и не сможете сотрудничать с другими людьми.

Инструмент для этого — Git. GitHub — место, где хранится код. В этом уроке рассматривается только то, что понадобится для курса, и ничего лишнего.

Концепция

Диаграмма к уроку «Git и совместная работа»

Запомните три правила:

  1. Часто сохраняйте изменения (git commit).
  2. Отправляйте их в удалённый репозиторий (git push).
  3. Создавайте ветки для экспериментов (git checkout -b experiment).

Собираем сами

Шаг 1. Настройте Git

git config --global user.name "Your Name"
git config --global user.email "you@example.com"

Шаг 2. Повседневный рабочий цикл

git status
git add file.py
git commit -m "Add perceptron implementation"
git push origin main

Шаг 3. Ветки для экспериментов

git checkout -b experiment/new-optimizer

# ... make changes, commit ...

git checkout main
git merge experiment/new-optimizer

Шаг 4. Работа с репозиторием этого курса

git clone https://github.com/rohitg00/ai-engineering-from-scratch.git
cd ai-engineering-from-scratch

git checkout -b my-progress
# work through lessons, commit your code
git push origin my-progress

Используем готовое

Для этого курса вам понадобятся только следующие команды:

Команда Когда использовать
git clone Получить репозиторий курса
git add + git commit Сохранить свою работу
git push Создать резервную копию на GitHub
git checkout -b Попробовать что-либо, не рискуя сломать main
git log --oneline Посмотреть, что вы сделали

Вот и всё. Для этого курса вам не нужны rebase, cherry-pick или подмодули.

Упражнения

  1. Клонируйте этот репозиторий, создайте ветку my-progress, добавьте файл, зафиксируйте его коммитом и отправьте на сервер.
  2. Создайте .gitignore, исключающий файлы контрольных точек моделей (.pt, .pth, .safetensors).
  3. Просмотрите историю коммитов репозитория командой git log --oneline и изучите, как добавлялись уроки.

Ключевые термины

Термин Как обычно говорят Что это означает на самом деле
Коммит (commit) «Сохранение» Снимок всего проекта в определённый момент времени
Ветка (branch) «Копия» Указатель на коммит, который перемещается вперёд по мере вашей работы
Слияние (merge) «Объединение кода» Перенос изменений из одной ветки в другую
Удалённый репозиторий (remote) «Облако» Копия репозитория, размещённая в другом месте, например на GitHub или GitLab

Источник: Git & Collaboration — оригинал Навигация: назад: 00.01 — Среда разработки · Фаза 0 — Настройка и инструменты · Полный каталог · далее: 00.03 — Настройка GPU и облачные вычисления.