В последние годы фронтенд- и бэкенд-разработка обросли целой экосистемой вспомогательных инструментов. Эти инструменты ускоряют и упрощают работу программиста. Помимо прочего, работодатели часто ждут от разработчиков опыта работы с Git и GitHub. Неудивительно, ведь у GitHub есть масса разных возможностей и функций, облегчающих жизнь разрабам. Попробуем разобраться, что такое GitHub и зачем им пользоваться.
Что такое GitHub
Предположим, команда разработчиков трудится над мобильным приложением. Программисты работают над одними и теми же файлами и папками, в которых находится проект. Для того чтобы совместная работа над проектами была удобной, были созданы системы контроля версий.
Система контроля версий синхронизирует код между разработчиками. Кроме того, она, как база данных, хранит информацию об изменениях в файлах. Благодаря таким программам каждый разработчик может получить последнюю версию проекта, над которым идёт совместная работа, в любой момент.
Что можно делать через систему контроля версий:
- сохранять изменения;
- синхронизировать файлы;
- получать самую свежую версию кода у себя на компьютере;
- следить за выполнением задач каждым членом группы (в GitHub видно, какие изменения были сделаны, а также когда и кем).
Git — одна из самых популярных распределённых систем контроля версий кода. (распределённая — то есть позволяющая хранить копию всех файлов у каждого разработчика, работающего с системой). Git используют, чтобы сохранять историю разработки проекта и работать над различными задачами совместно с другими программистами.
GitHub — это веб-хостинг репозиториев (хранилищ всех файлов, связанных с проектом). По сути, это визуальный интерфейс для работы с системой Git. В GitHub можно не только размещать код, но и общаться, а также комментировать правки друг друга. Поэтому GitHub ещё называют социальной сетью для разработчиков.
Чем GitHub отличается от Git
Git и GitHub часто фигурируют в одном контексте и не все понимают, в чём между ними разница. Давайте разберёмся.
Git — это сама программа, которая контролирует версии кода. Она создаёт хранилища-репозитории, и их нужно где-то хранить.
Скриншот, на котором показана структура окна репозитория Git. Источник: сайт docs.microsoft.com
GitHub — это популярный сайт, где можно хранить репозитории и работать с ними. Ещё это крупнейшая площадка, где разработчики размещают проекты с открытым исходным кодом.
Интерфейс GitHub. Источник: сайт github.githubassets.com
Разберём различия подробнее.
Git |
GitHub |
Программа |
Веб-сервис |
Устанавливается на компьютер, то есть на локальную систему |
Расположен в интернете |
Управляется командной строкой |
У него есть графический интерфейс |
Это инструмент для управления различными версиями изменений, внесённых в файлы в git-репозитории |
Это пространство для загрузки копий git-репозиториев |
Предоставляет функции для управления системой контроля версий кода |
Предоставляет функции для управления системой контроля версий кода, общения с другими разработчиками, просмотра репозиториев других разработчиков, контроля доступа, багтрекинга, управления задачами, ведения истории коммитов, интеграции с другими сервисами, ведения документации |
Есть и другие онлайн-сервисы, интегрированные с Git, например, BitBucket и GitLab. У разных сервисов есть свои плюсы, какие-то более удобны для небольших проектов, у других расширенный функционал.
Для чего нужен GitHub
GitHub используют как сервис для хостинга проектов и совместной разработки. С помощью него сколько угодно разработчиков могут писать код общего проекта. Рассмотрим функции GitHub детальнее.
Хранить проекты
В GitHub файлы проектов сохраняются в репозитории. Когда программист один работает над проектом, он создаёт под него новый репозиторий. Когда разработчик трудится в команде, он клонирует репозиторий, который создал инициатор проекта.
Изменения кода сохраняются внутри хранилища в виде коммитов и веток.
Коммит — это объект, содержащий информацию об изменённых файлах. Из коммита можно узнать обо всех актуальных изменениях, в нём также есть ссылка на предыдущую версию коммита. Каждый коммит содержит несколько атрибутов: дата, имя, автор и комментарии разработчиков (например, «Создал страницу cart.html» при разработке интернет-магазина).
В левом столбце видно все коммиты по проекту. Источник: сайт desktop.github.com
Ветка — это указатель на определённый коммит. Например, несколько разработчиков взяли коммит, дальше каждый из них написал свои изменения в коде и создал новые коммиты. Получается, в общем проекте появились две новые ветки, каждая со своим кодом. Дальше программист может выбирать, с каким коммитом ему работать.
Делать ревью кода
Если над проектом работают несколько программистов, нужно, чтобы каждый из них видел изменения в проекте, понимал общую картину и предлагал свои решения по спорным моментам. Это обсуждение и называется ревью кода (code review).
После ревью кода задачи, реализованные каждая в своей ветке, сливаются с главной веткой (main).
В ревью программисты комментируют изменённый код и предлагают, как его улучшить, если видят ошибки. После этого участники проекта принимают изменения и переносят коммиты в main, объединяя ветки.
Показывать портфолио
GitHub неслучайно называют социальной сетью для разработчиков. Поскольку раздел Repositories демонстрирует реализованные проекты и технические навыки разработчика, профиль на GitHub становится публичным портфолио программиста.
Чтобы смотреть чужие репозитории, даже не нужна регистрация, они общедоступны. Неудивительно, что GitHub используют IT-рекрутеры для поиска специалистов. Поэтому современному разработчику лучше иметь там аккаунт и показывать своё развитие.
Как создать и оформить аккаунт на Гитхаб
Чтобы начать работу, нужно загрузить Git отсюда. Для начала будет достаточно версии Portable. После установки Git зарегистрируемся в GitHub. В конце у нас будет и программа Git, и GitHub-аккаунт, куда можно загружать свои репозитории.
Чтобы установить GitHub, нужно сделать несколько шагов.
- Зайдите на github.com и нажмите Sign up.
- Вбейте имя пользователя, email (такой же, как в Git) и пароль.
Заполняем основные поля для регистрации в GitHub
- Затем введите код активации, он придёт на почту. После ответьте на вопросы и уточните настройки или пропустите эти шаги кнопкой Skip personalization.
- Готово, у вас есть свой профиль GitHub, где вам сразу предложат создать свой первый репозиторий.
Теперь, когда есть аккаунт в GitHub, нужно залогиниться в консоли Git, чтобы связать их. Для этого нужно выполнить команды в консоли, которые зададут имя пользователя и email.
Чтобы ввести ваше имя, нужно ввести команду
git config --global user.name “ваш логин в кавычках”
Чтобы ввести вашу почту, нужно ввести команду
git config --global user.email вашапочта@example.com
Если ввести в командную строку Git команду help, система выведет вам подсказки команд
Если вы используете аккаунт GitHub как портфолио, важно адекватно его оформить. Соблюдайте следующие правила:
- используйте качественное фото;
- указывайте не только никнейм, но и имя/фамилию;
- не публикуйте email, который привязан к аккаунту GitHub;
- размещайте только те репозитории, которые хотите показать возможному работодателю;
- опишите каждый проект, чтобы была понятна его суть;
- сделайте файл Readme внутри каждого проекта.
Как быстро научиться работать с Гит и Гитхаб
GitHub сейчас самый распространённый сервис для работы над проектами в команде, хранения и демонстрации своих навыков. Уметь работать в нём — один из обязательных навыков для программиста. Научиться можно самому с помощью гайдов, шпаргалок и видеороликов в интернете.
Системно разобраться в принципах работы GitHub можно на курсах. Такие курсы бывают продвинутые или сжатые, для начинающих разработчиков или опытных программистов. После обучения на них вы узнаете, как управлять файлами, создавать и изменять репозитории, изучите основные команды Git и узнаете много полезного о коммитах, ветках и слияниях.
Git и GitHub используют в любом серьёзном проекте. Поэтому, чем раньше вы научитесь с ними работать, тем более ценным специалистом будете для работодателей.