Связаться с нами
Git и GitHub
Модуль из 5 уроков

Вместе с написанием кода в команде появляется ряд рутинных задач: как редактировать один и тот же код нескольким людям, как посмотреть, кто внёс изменения, как перемещать код между разными машинами, как доставлять новую версию кода, как быть, если есть несколько разных версий кода. Задачи типичные, поэтому и решение для них общее: использовать git. А где git, там и GitHub. Модуль учит азам работы с этими инструментами.

Освоение Git проще всего начать с графической программы - GitHub Desktop. Он не столь универсален, как консольный Git, но достаточно эффективен и, главное, прост в обращении. Этот модуль целиком посвящен работе с GitHub Desktop.

Модуль будет полезен:

  • начинающим программистам
  • тестировщикам
  • системным администраторам
  • верстальщикам
Урок 1. Господствуй над хаосом
Господствуй над хаосом

Арсений и его друзья пишут онлайн-игру. У них куча разных наработок, которые хранятся беспорядочно: что-то на GitLab, что-то на Bitbucket, что-то вообще локально у разработчиков. После того, как в этом хаосе без вести пропал важный файл, Арсений решил навсегда навести порядок.

Он создал архив, в который поместил часть репозиториев. Другую часть репозиториев внёс в виде ссылок. Ещё добавил обычные папки и файлы... На этом силы Арсения иссякли.

Помогите ему собрать всё важное в одном месте:

  • Скачайте созданный им архив
  • Найдите в нём ссылки и скачайте недостающие репозитории
  • Загрузите всё на GitHub
  • Сделайте проект публичным
Урок 2. Гитхаб-Одиссея
Гитхаб-Одиссея

Компания студентов-лингвистов переводила для конкурса огромный текст на древнегреческий. Работали два месяца. Все тексты держали на Гитхабе: так было удобнее коллективно вносить правки.

К несчастью, студенты плохо следили за правами доступа. И накануне презентации лингвист-конкурент влез в их текст и всё испортил: навставлял непотребных древнегреческих выражений, удалил часть абзацев, а часть заменил копипастой из «Одиссея».

Студенты жутко расстроились – столько работы коту под хвост! Но надежда умирает последней: в одном древнегреческом тексте они читали, что правки на Гитхабе можно отслеживать и отменять.

Спасите студентов:

  • Отследите изменения подозрительного пользователя
  • Отмените их, вернув файл к нужному виду
  • Сделайте пулл-реквест с восстановленным текстом
Урок 3. Заверните проект как следует
Заверните проект как следует

Виталий придумал масштабный проект: соц.сеть для обсуждения лучших шаурмечных. Начал реализовывать его в одиночку, но вскоре понял, что не потянет. Единомышленников среди знакомых тоже не нашёл.

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

И, увлечённый исправлениями, совсем забыл корректно оформить проект. Помогите Виталию доделать эти мелочи – иначе мир навсегда лишится соц.сети Vshaurme.

Для этого:

  • Оформите документацию
  • Выберите лицензию
  • Опубликуйте проект на GitHub
Урок 4. Публикуем статью
Публикуем статью

Денис и Алина несут грамотность в массы: пишут статьи о программировании. Недавно они начали заметку о разнице ввода/вывода данных и их обработки. Создали репозиторий на GitHub, чтобы было удобно отслеживать изменения, и работа закипела.

В одной ветке Денис писал текст. В другой Алина вставляла картинки и ссылки. Статья близилась к публикации... Но тут на ребят свалился крупный и срочный проект. Дело встало: теперь ни у кого нет времени собрать все материалы вместе и довести статью до ума.

А всего-то нужно влить изменения из побочных веток, устранить конфликты при слияниях и оформить текст. Поможете?

Надо:

  • Внести все изменения
  • Оформить текст в markdown
  • Опубликовать статью
Урок 5. От заметок к энциклопедии
От заметок к энциклопедии

Денис и Алина опубликовали свою первую статью, но решили не останавливаться на достигнутом. Новая амбициозная цель – собрать целую энциклопедию программистской мудрости.

В одиночку с таким не справиться. Поэтому они привлекли своих знакомых-разработчиков. Когда настало время сводить все материалы воедино, Денис и Алина немного опешили от объёмов работы.

Кто-то из их коллег тоже использовал GitHub. А кто-то просто прислал архив со своими статьями. Теперь предстояло слить изменения из разных веток в мастер-ветку, а затем принять правки от тех, кто не использовал git вообще. Денис и Алина умоляюще смотрят в вашу сторону.

Помогите им создать достойного конкурента для Хабра!

  • Получите репозиторий Дениса и Алины и скачайте архивы их коллег
  • Поэтапно добавьте все статьи в мастер-ветку
  • Слейте изменения в мастер-ветку
  • Покажите миру получившуюся энциклопедию
Навыки и технологии

Мы продаём не знания, а навыки. В задачах модуля вы отработаете:

  • Графический интерфейс Github Desktop
  • Создание репозиториев
  • Форки и пул-реквесты
  • Написание README в Markdown и .gitignore
  • Слияние веток и устранение конфликтов

Учебные материалы встроены в модуль.

Минимальные требования

Для прохождения модуля нужно знать английский язык на уровне "Читаю со словарем".

В процессе решения задач вам потребуется установить на компьютер дополнительное ПО. Подойдет любая из распространенных десктопных ОС: Windows, Mac или Linux.

Как проходят занятия
Что вы получите
5 уроков
Теория и практические советы. Кратко и по делу.
Пошаговые инструкции
Покажем, как подступиться к решению задач из реального мира.
Неограниченный доступ к учебным материалам
Занимайтесь в удобное время, в своем темпе.
Знания, необходимые для следующего шага
Эти знания помогут вам в следующих сложных модулях:

Посмотрите другие модули
API веб-сервисов
6 уроков, 78 заданий
  • HTTP
  • ВКонтакте API
  • Instagram API
  • схема url
  • библиотека Requests
  • REST API
Посмотреть Первый урок бесплатный 2 500 Р
Основы Django
выйдет весной
  • manage.py
  • urls.py
  • Templates
  • Django ORM
  • ORM Migrations
  • Admin UI
Посмотреть 5 000 Р
Командная строка
5 уроков, 41 задание
  • bash
  • cd, ls, pwd
  • nano, vim
  • запуск программ
  • permissions
  • env variables
Python для SMM
5 уроков, 72 задания
  • ВКонтакте
  • Facebook
  • Таблицы Google
  • Google Диск
  • Instagram
  • Telegram
Посмотреть Первый урок бесплатный 5 000 Р
Асинхронный Python
8 уроков, 119 заданий
  • asyncio
  • aiohttp
  • сокеты
  • стриминг
  • чаты
Django REST Framework
выйдет летом
  • CRUD
  • serializers
  • JWT
  • наследование
  • версионирование
  • тестирование
Посмотреть 5 000 Р
Docker
выйдет весной
  • Dockerfile
  • volumes
  • networks
  • docker-compose
  • docker-machine
  • Docker Hub
Посмотреть 5 000 Р
Чат-боты на Python
выйдет 25 апреля
  • Telegram
  • ВКонтакте
  • Redis
  • Deploy
  • Long polling
  • State Machine
Посмотреть 8 000 Р
Знакомство с Python
8 уроков, 93 задания
  • переменные
  • функции
  • циклы
  • условия
  • строки
  • списки
  • словари
  • библиотеки
  • файлы
Посмотреть Первый урок бесплатный 5 000 Р