12-дневный практикум по работе с системами контроля версий«Git и Composer для начинающих»

Дмитрий Елисеев

В обратной связи моего блога, большей частью посвящённого веб-программированию, обнаружился повышенный интерес к работе с системой контроля версий Git и с пакетным менеджером Composer от тех, кто не сталкивался с ними ранее.

Я решил не готовить серию банальных статей (коих и так полно) по этому поводу, а набрал группу учеников и провёл несколько уроков по внедрению систем контроля версий и пакетных менеджеров. Теперь выкладываю записи остальным желающим.

На практикуме Вы научитесь:

  • Корректно использовать системы контроля версий;
  • Избавитесь от необходимости хранения куч файлов;
  • Подключать открытые компоненты к своему проекту;
  • Загружать проект на сервер автоматически в терминале;
  • Выкладывать свои репозитории на GitHub;
  • Исправлять чужие проекты на GitHub;
  • Пользоваться клиентами с графическим интерфейсом;
  • Познакомитесь с групповой разработкой.

Чему вы не научитесь:

Это пошаговый практикум с подробной проработкой каждой базовой команды каждым учеником, а не насыщенный материалом курс лекций. В записи вырезаны паузы и нетематические разговоры, поэтому в записи длительность немного меньше. В него чисто физически не вошли всевозможные нюансы и профессиональные вещи с интересными названиями вроде «навешивание хуков автопроверки стиля PHP кода и запуска тестов при коммитах», а также всевозможные списки атрибутов каждой команды.

В чём отличие практикума от курса лекций

В курсах и на лекциях даётся много материала, но без практического применения. В практикуме же занятия целиком состоят из пошаговой практической проработки базовых вещей с учениками. С параллельным объяснением по ходу выполнения, исправлением ошибок и ответами на вопросы. Так что практикум будет очень полезен именно для новичков, которые хотят вместе с нами по шагам сделать свой первый коммит или ребэйс.

Приобрести записи

Программа практикума

День 1: Знакомство с системами контроля версий

  • Знакомство с участниками
  • Организационные моменты
  • Как мы пишем реферат: идеальный и реальный сценарии
  • Сложности резервного копирования
  • Оптимизируем бекапы

День 2: Настройки и основные команды Git

  • Первоначальная настройка Git
  • Создание репозитория
  • Индексация файлов
  • Создание снимков состояния
  • Простой просмотр истории изменений

День 3: Ветвление и слияние

  • Создание веток
  • Переключение между ветками
  • Слияние (merge)

День 4: Перемещение, удаление, игнорирование

  • Перемещение веток
  • Игнорирование файлов
  • Удаление и перемещение файлов
  • Отмена изменений
  • Исправление коммита
  • Удаление коммитов

День 5: Работа в SmartGit

  • Создание репозитория
  • Индексирование изменений и коммиты
  • Исправление коммитов
  • Создание веток
  • Слияние и переброс веток

День 6: Многопользовательская работа

  • Создание главного репозитория
  • Клонирование репозитория
  • Подключение главного репозитория
  • Синхронизация изменений

День 7: Совместная разработка: практикум

  • Генерация SSH-ключа
  • Клонирование репозитория
  • Создание своих коммитов и веток
  • Синхронизация изменений

День 8: Дополнительные инструменты Git (ч. 1)

  • Прятание в «карман» (stash)
  • Метки версий (tag)
  • Интерактивное индексирование
  • Слияние без fast-forward

День 9: Дополнительные инструменты Git (ч. 2)

  • Перезапись истории
  • Поиск ошибок

День 10: Знакомство с GitHub

  • Регистрация на GitHub
  • Создание репозитория
  • Подключение репозитория
  • Клонирование
  • Создание и отправка Pull Request

День 11: Знакомство с пакетными менеджерами

  • Повторное использование
  • Распространение библиотек
  • Несовместимость версий
  • Проблема зависимостей
  • Репозитории и социальный кодинг
  • Договорённости об оформлении
  • Экосистема пакетного менеджера

День 12: Использование Composer

  • Установка Composer
  • Создание проекта
  • Поиск компонента на packagist.org
  • Установка компонента нужной версии
  • Подключение автозагрузчика
  • Написание консольного HelloWorld-приложения

И вопросы. Куда ж без них :)

Как проходят занятия?

Объясняется базовый материал и даются задания: какую команду вбить, куда посмотреть, спрашиваю что получилось и показываю на картинках что произошло и почему произошло именно так. По ходу отвечаю на вопросы и задаю свои. Участники выполняют предложенные им действия и пишут, понятно им это или нет. Потом мы дружно благодарим друг друга и говорим не по теме. Но это по большей части вырезано :)

Это для новичков или для профи? Много ли информации?

С ветвлением и слиянием все шаги делаются всеми одновременно. После каждого этапа мы обсуждаем что получилось и есть ли вопросы. Но если взять, например, пункт «Создание и отправка Pull Request», то все ученики делают форки, клонируют свои репозитории к себе. Потом первый по списку ученик создаёт ветку, создаёт коммит, отправляет в свой репозиторий и отправляет мне свой request. Я принимаю его коммит. Дальше все дружно стягивают его коммит к себе. Потом выбираем второго добровольца и делаем то же самое.

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

Почему не бесплатно?

Хотел удалить этот ответ, но оставлю. Примерно 80% аудитории ходят в школу и институт только чтобы «попонтоваться» и в карты с приятелями поиграть. А оплатившие что-то самостоятельно люди всё-таки действительно приходят и учатся. Сам купил билет, но не сходил или выбросил – это редкость. Так что любая цена служит как фильтр адекватности.

Почему платно, если всё уже есть в сети и так?

Да, вся информация бесплатна и получена из открытых источников. Оплачиваются только мои старания.

Приобрести записи

Все 12 занятий за 2400 руб.

Полная обратная связь по Email и персональное объяснение
вопросов, которые Вам могут показаться сложными.

Полная гарантия возврата средств:
если Вас что-то не устроит в начале просмотра
или Вы просто передумаете, то я верну ваш платёж.

Если есть какие-нибудь вопросы по практикуму,
по оплате или его формату и любые другие, то пишите
сразу мне по адресу
Заранее спасибо!