GitHub – что это?

На сегодняшний день GitHub – это один из самых популярных сервисов для совместной разработки программного обеспечения и его хостинга в облаке. Крупные IT-компании, такие как Microsoft, Google, Facebook и многие другие, используют данный ресурс для размещения исходных кодов своих разработок. Вы наверняка слышали о GitHub – пришло время научиться им пользоваться!

Этой статьёй мы открываем цикл публикаций посвященных GitHub. Итак, если вы не знаете, что это за сервис, то самое время время с ним познакомиться!

Что такое GitHub?

GitHub – это сервис на основе Git. Является удобным и популярным инструментом управления версиями и включает систему отслеживания ошибок. Адрес в Интернете: https://github.com/

Для каждого проекта можно создавать документацию и руководства по принципу wiki.

Термины из определения мы рассмотрим чуть позже.

GitHub - главная страница

Главная страница ресурса

Сервис заработал в апреле 2008 года, но лишь относительно недавно он приобрёл огромную популярность. Его разработчиками являются Крис Ванстрас, PJ Хиетт и Том Престон-Вернер.

Сервис можно использовать как бесплатно, так и платно. При этом в бесплатном аккаунте доступны абсолютно все функции для работы над проектом. Объем памяти под хостинг – неограничен. Различие в тарифах следующее:

  • Бесплатно – можно создавать только публичные репозитории.
  • Платно (7$ в месяц) – доступны приватные репозитории.

Репозиторий – это хранилище исходного кода вашего программного проекта. Публичный репозиторий виден абсолютно всем, а приватный только вашим разработчикам (тем, кому вы дали доступ).

Работа с репозиторием возможна, как и с помощью веб-сайта, так и с помощью клиентов для компьютера (консольного или с графическим интерфейсом), которых существует множество.

Публичный репозиторий программы с vscode.ru на GitHub

Публичный репозиторий программы с сайта vscode.ru на GitHub

GitHub – это своеобразная социальная сеть для разработчиков, позволяющая им просматривать код друг друга, оставлять комментарии, а также помогать в разработке.

Вкратце познакомившись с сервисом и узнав что такое GitHub, перейдём к терминам и особенностям функционирования системы.

Система управления версиями

В основе работы GitHub лежит система управления версиями Git.

Проект Git был создан Линусом Торвальдсом. Первая версия вышла 7 апреля 2005 года.

Логотип VCS Git

Логотип Git

Система управления версиями (от английского Version Control System, сокращенно VCS) – это набор инструментов для удобной работы с документами или файлами, которые могут изменится со временем, то есть может поменяться их версия.

Изменение версии особенно актуально для программного обеспечения и кода. Программы постоянно обновляются их разработчиками и их версии (и код!) меняются.

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

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

Основные термины VCS

Коммиты (commit)

Чтобы лучше разобраться в данной теме, представим себе типичный день разработчика ПО.

Допустим команда разрабатывает графический редактор. Одного из программистов зовут Юлия. Сегодня она должна разработать модуль для фильтрации изображений.

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

Перво-наперво, Юлия должна выполнить апдейт (update) своего локального репозитория – синхронизироваться с сервером и получить последнюю на данный момент версию ПО. Для этого выполняется соответствующая команда.

Затем Юля занимается разработкой модуля для фильтрации изображении.

После того, как модуль готов, либо рабочий день закончен; необходимо сохранить написанный код и отправить его в облачный репозиторий. Порядок действий таков:

  1. Выполняется команда коммит (commit). Коммит – это сохранение изменений в проекте. Он обязательно должен сопровождаться текстовым комментарием разработчика о том, какая работа была проделана, и что изменено, либо написано. Коммит поможет другим разработчикам легче разобраться в чужом коде. Кроме того, по коммитам выполняется откат к предыдущей версии проекта, если вдруг что-то было сделано неправильно, либо с фатальными ошибками. Коммит фиксируется в локальном репозитории.
  2. Затем нужно синхронизировать локальный коммит с облаком и запушить (push) все изменения на сервер. Выполняется команда push.

На этом рабочий день Юлии в группе разработчиков закончен. Потом её ожидает работа домохозяйки, но для этого система управления версиями не нужна.

Конфликты

Конфликты возникают во время операции push, когда оказывается, что два разработчика работали над одним и тем же кодом. Что и понятно.

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

Ветки (branch)

Рассмотрим создание веток опять же на примере проекта “графический редактор”.

Части команды дано задание начать разработку версии 2.0 графического редактора (например, предполагается поддержка работы с векторными изображениями).

Другая же часть команды продолжает работать над первой версией проекта и осуществлять её поддержку и исправление ошибок.

В данной ситуации делается следующее: выделяется ветка (бранч, branch). Создание branch – это создание копии текущего репозитория. Дальнейшая разработка в рамках новой ветки никак не будет затрагивать начальную основную ветку проекта (которая называется master).

Разработка в рамках новой ветки идентична разработке основной ветки. Коммиты, push – это всё на месте.

Когда работа завершена, необходимо выполнить слияние (megre) дополнительной ветки с основной. Программная команда так и называется – megre. В результате слияния получится версия программы 2.0, при этом в ней будут содержатся исправления всех недочётов, которые были обнаружены и поправлены в основной ветке проекта.

 

На этом всё! До встречи на vscode.ru!

Из следующих статей на тему работы с GitHub Вы узнаете:

 

GitHub – что это?
5 (100%) 5 votes

Поделиться в соц. сетях:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">