Гайд для начинающих: Git vs GitHub: В чем разница?

Привет!
Сначала мы изучим, что такое веб-разработка, а затем рассмотрим систему контроля версий Git. Далее мы рассмотрим, что представляет собой похожая по звучанию система GitHub и как ее использовать, а затем сравним эти две системы.
И наконец, мы объясним, как можно использовать Git без GitHub, а также расскажем о возможных подводных камнях.
Что такое веб-разработка?
Посмотрите на все, что можно просмотреть в интернет-браузере. Все эти сайты являются результатом веб-разработки.
Существует три основные категории веб-разработки: Frontend, Backend и Full-stack.

Бэкенд веб-разработка включает в себя хранение и манипулирование данными посредством связи с базой данных – часть приложения, к которой пользователь не имеет прямого доступа.
Полнофункциональная веб-разработка включает в себя как фронтенд, так и бэкенд.
Давайте рассмотрим пример. Допустим, вы ищете пару красных брюк на сайте магазина. Вы решили набрать в строке поиска «красные брюки». Дизайн поисковой строки и ее внешний вид – это фронтенд веб-разработки.
Принятие поискового запроса и возвращение соответствующих предметов одежды – это роль внутренней веб-разработки.
Если вы заинтересованы в изучении frontend-разработки, то начать гораздо проще, чем вы думаете. Курс от образовательной платформы Netology «Frontend-разработчик с нуля до middle» даст возможность вам научиться создавать сайты и приложения, проектировать интерфейсы и работать с Flexbox и JavaScript.
По окончании данного курса вы соберите портфолио из 9 проектов и начните работать по специальности через 6 месяцев обучения.
Что такое Git?
Если вы ищете работу в качестве разработчика программного обеспечения или веб-разработчика, Git – это инструмент, с которым вы будете работать ежедневно. Так что же такое Git? Вкратце, Git позволяет разработчикам отслеживать изменения файлов в своих проектах и работать вместе.
Допустим, вы работали над кодом и сохранили изменения, которые вызвали ошибку в вашем проекте. Вы не помните, как выглядел старый код, чтобы изменить его обратно. Упс – и что теперь делать?

Используя Git, вы вносите свои изменения в репозиторий с помощью фиксации. Вы также можете отменить фиксацию, чтобы вернуться к предыдущей версии кода.
Git спасает положение! Узнайте больше о том, как это сделать, в моем руководстве для начинающих по команде git commit.
Git является бесплатным, с открытым исходным кодом, очень быстрым и масштабируемым. Это не единственная система контроля версий, хотя и самая популярная. Давайте поговорим о том, почему. Что делает Git такой замечательной, и как она сравнивается с другими системами контроля версий?
Системы контроля версий бывают двух категорий: централизованные и распределенные.
Централизованные системы контроля версий
В централизованной системе все члены команды подключаются к одному серверу, чтобы видеть и работать с последней копией кода. Существенным плюсом централизованных систем является то, что их легко освоить. Однако, если сервер не работает, это означает, что никто не сможет увидеть код или работать с ним.
Распределенные системы контроля версий
В распределенной системе каждый член команды хранит копию проекта на своей локальной машине. Если сервер не работает, пользователи могут сотрудничать с коллегами и работать в автономном режиме. Git является распределенной системой.
Хотя это означает, что Git более сложен в освоении, он обеспечивает безопасность кода. Самое главное, что у него нет единой точки отказа, как у централизованных систем.
Что такое GitHub?
GitHub – это компания, которая позволяет пользователям размещать свои проекты по кодированию.
Чтобы использовать GitHub, необходимо зарегистрироваться на сайте и создать учетную запись. Любой желающий может зарегистрироваться и бесплатно разместить на GitHub публичное хранилище кода. Это делает его очень популярным для проектов с открытым исходным кодом. Компании или проекты также могут заплатить за дополнительные функции и безопасность, предлагаемые GitHub.
GitHub предоставляет множество инструментов для размещения проектов кодирования. Эти инструменты облегчают процесс разработки и делают его более безопасным в компании или команде. Две основные функции GitHub, которые вы будете использовать как разработчик, – это запросы на перетягивание и обзоры кода.

Затем ваши коллеги могут вычитать и/или протестировать ваш код, что называется обзором кода. Обычно проект или компания требует проведения обзора кода, прежде чем разрешить кому-либо объединить свой новый код.
Во время обзора кода ваши коллеги могут посмотреть на ваш код, чтобы убедиться в его безопасности и эффективности, прежде чем он будет объединен в репозиторий.
Репозиторий, или «репо», – это место, где компания хранит все файлы и код для конкретного проекта. Это помогает предотвратить ошибки в веб-приложении и обеспечивает резервное копирование, чтобы код никогда не был потерян.
Различия между Git и GitHub
Если Git – это система, отслеживающая изменения и версии вашего проекта, то GitHub – это дом для этой системы.
Github – это веб-приложение, на котором размещается Git. Это онлайновая база данных, в которой вы можете совместно работать над своими проектами, контролируемыми версиями Git. Это сотрудничество происходит с другими людьми в облаке, вне вашего локального компьютера.
И Git, и GitHub предоставляют разработчикам полезные инструменты контроля версий. Разработчики могут создавать свои проекты, не беспокоясь о том, что они что-то испортят. GitHub добавляет дополнительные функции. Например, место для хранения проектов в облаке и дополнительные инструменты для улучшения совместной работы.
Три основных инструмента – это запросы на исправление, проблемы и обзоры кода.
GitHub как социальная сеть

Это делает GitHub важным инструментом при поиске работы в сфере веб-разработки. Глядя на профиль человека на GitHub, вы получаете представление о нем как о разработчике. Как долго они занимаются кодированием, над какими проектами они работали и каково это – работать с их кодом.
Вы также можете отправить проблему на GitHub для существующего проекта. Это может быть ошибка, запрос функции или вопрос. Здесь организуется обсуждение проблемы, сортируются детали и расставляются приоритеты.
Форкинг
Увидели проект с открытым исходным кодом, который, по вашему мнению, можно улучшить или использовать в качестве основы для другого проекта? Еще один полезный для вас инструмент GitHub – форкинг. Когда вы «форкаете» репозиторий, вы делаете копию всего репозитория на свой собственный аккаунт GitHub. Затем вы можете строить на его основе, улучшать и/или настраивать по своему вкусу.
Например, допустим, вы хотите сделать форум для своего любимого фэндома. Найдите на GitHub существующий проект форума, создайте его и настройте по своему вкусу. Например, добавьте цвета, изображения и стиль вашего фэндома.
Есть идея для крутой функции? Напишите код для расширения существующего проекта и добавьте то, что, по вашему мнению, оценят ваши пользователи. Заметили ошибку? Исправьте все неудобства, которые вы обнаружили в исходном проекте.
Могу ли я использовать Git без использования GitHub?

Если вы используете Git только локально на своем компьютере, имейте в виду, что ваш проект не сохраняется ни на одном сервере.
Это означает отсутствие сохраненных резервных копий, если что-то пойдет не так с вашим устройством. Это также затрудняет обмен и совместную работу с другими участниками проекта.
Заключительные мысли
Git и GitHub – два термина, которые часто встречаются в веб-разработке. Независимо от того, работаете ли вы как frontend, backend или full-stack разработчик, они будут неотъемлемой частью вашего рабочего процесса.
Поначалу эти термины могут показаться ошеломляющими. Запрос, слияние, пуш, обзор, форк, репозиторий – что они вообще означают?! Не волнуйтесь, вы быстро привыкнете к жаргону и научитесь ценить эти сервисы.
Вы не только учитесь, просматривая код своих коллег, но и получаете возможность отменить практически любую работу. Душевное спокойствие от осознания того, что вы не испортите продукт своего работодателя непродуманным куском кода? Бесценно.
До новых встреч, друзья!
Подпишитесь на рассылку
Получайте свежие новости Web3, AI и криптовалют прямо на вашу почту.