Привет!
Сначала мы изучим, что такое веб-разработка, а затем рассмотрим систему контроля версий Git. Далее мы рассмотрим, что представляет собой похожая по звучанию система GitHub и как ее использовать, а затем сравним эти две системы.
И наконец, мы объясним, как можно использовать Git без GitHub, а также расскажем о возможных подводных камнях.
Что такое веб-разработка?
Посмотрите на все, что можно просмотреть в интернет-браузере. Все эти сайты являются результатом веб-разработки.
Существует три основные категории веб-разработки: Frontend, Backend и Full-stack.
Фронтенд-разработка включает в себя все, что вы видите на экране и с чем взаимодействуете.
Бэкенд веб-разработка включает в себя хранение и манипулирование данными посредством связи с базой данных – часть приложения, к которой пользователь не имеет прямого доступа.
Полнофункциональная веб-разработка включает в себя как фронтенд, так и бэкенд.
Давайте рассмотрим пример. Допустим, вы ищете пару красных брюк на сайте магазина. Вы решили набрать в строке поиска «красные брюки». Дизайн поисковой строки и ее внешний вид – это фронтенд веб-разработки.
Принятие поискового запроса и возвращение соответствующих предметов одежды – это роль внутренней веб-разработки.
Если вы заинтересованы в изучении frontend-разработки, то начать гораздо проще, чем вы думаете. Курс от образовательной платформы Netology «Frontend-разработчик с нуля до middle» даст возможность вам научиться создавать сайты и приложения, проектировать интерфейсы и работать с Flexbox и JavaScript.
По окончании данного курса вы соберите портфолио из 9 проектов и начните работать по специальности через 6 месяцев обучения.
Что такое Git?
Если вы ищете работу в качестве разработчика программного обеспечения или веб-разработчика, Git – это инструмент, с которым вы будете работать ежедневно. Так что же такое Git? Вкратце, Git позволяет разработчикам отслеживать изменения файлов в своих проектах и работать вместе.
Допустим, вы работали над кодом и сохранили изменения, которые вызвали ошибку в вашем проекте. Вы не помните, как выглядел старый код, чтобы изменить его обратно. Упс – и что теперь делать?
Введите Git, вашу систему контроля версий. Git работает в фоновом режиме, записывая изменения в специальную базу данных, называемую репозиторием. Здесь вы можете увидеть, кто, когда и почему внес изменения.
Используя Git, вы вносите свои изменения в репозиторий с помощью фиксации. Вы также можете отменить фиксацию, чтобы вернуться к предыдущей версии кода.
Git спасает положение! Узнайте больше о том, как это сделать, в моем руководстве для начинающих по команде git commit.
Git является бесплатным, с открытым исходным кодом, очень быстрым и масштабируемым. Это не единственная система контроля версий, хотя и самая популярная. Давайте поговорим о том, почему. Что делает Git такой замечательной, и как она сравнивается с другими системами контроля версий?
Системы контроля версий бывают двух категорий: централизованные и распределенные.
Централизованные системы контроля версий
В централизованной системе все члены команды подключаются к одному серверу, чтобы видеть и работать с последней копией кода. Существенным плюсом централизованных систем является то, что их легко освоить. Однако, если сервер не работает, это означает, что никто не сможет увидеть код или работать с ним.
Распределенные системы контроля версий
В распределенной системе каждый член команды хранит копию проекта на своей локальной машине. Если сервер не работает, пользователи могут сотрудничать с коллегами и работать в автономном режиме. Git является распределенной системой.
Хотя это означает, что Git более сложен в освоении, он обеспечивает безопасность кода. Самое главное, что у него нет единой точки отказа, как у централизованных систем.
Что такое GitHub?
GitHub – это компания, которая позволяет пользователям размещать свои проекты по кодированию.
Чтобы использовать GitHub, необходимо зарегистрироваться на сайте и создать учетную запись. Любой желающий может зарегистрироваться и бесплатно разместить на GitHub публичное хранилище кода. Это делает его очень популярным для проектов с открытым исходным кодом. Компании или проекты также могут заплатить за дополнительные функции и безопасность, предлагаемые GitHub.
GitHub предоставляет множество инструментов для размещения проектов кодирования. Эти инструменты облегчают процесс разработки и делают его более безопасным в компании или команде. Две основные функции GitHub, которые вы будете использовать как разработчик, – это запросы на перетягивание и обзоры кода.
Pull requests – это способ отправить свой код в основную кодовую базу. Когда вы заканчиваете работу над функцией, вы открываете pull request, как бы делая черновик своего кода видимым.
Затем ваши коллеги могут вычитать и/или протестировать ваш код, что называется обзором кода. Обычно проект или компания требует проведения обзора кода, прежде чем разрешить кому-либо объединить свой новый код.
Во время обзора кода ваши коллеги могут посмотреть на ваш код, чтобы убедиться в его безопасности и эффективности, прежде чем он будет объединен в репозиторий.
Репозиторий, или «репо», – это место, где компания хранит все файлы и код для конкретного проекта. Это помогает предотвратить ошибки в веб-приложении и обеспечивает резервное копирование, чтобы код никогда не был потерян.
Различия между Git и GitHub
Если Git – это система, отслеживающая изменения и версии вашего проекта, то GitHub – это дом для этой системы.
Github – это веб-приложение, на котором размещается Git. Это онлайновая база данных, в которой вы можете совместно работать над своими проектами, контролируемыми версиями Git. Это сотрудничество происходит с другими людьми в облаке, вне вашего локального компьютера.
И Git, и GitHub предоставляют разработчикам полезные инструменты контроля версий. Разработчики могут создавать свои проекты, не беспокоясь о том, что они что-то испортят. GitHub добавляет дополнительные функции. Например, место для хранения проектов в облаке и дополнительные инструменты для улучшения совместной работы.
Три основных инструмента – это запросы на исправление, проблемы и обзоры кода.
GitHub как социальная сеть
Аспект социальной сети GitHub – это еще одна мощная функция. Каждый пользователь GitHub имеет свой собственный профиль, в котором указаны проекты, в которые он вносит вклад и как часто. Если проекты публичные, то код, который они внесли, также виден.
Это делает GitHub важным инструментом при поиске работы в сфере веб-разработки. Глядя на профиль человека на GitHub, вы получаете представление о нем как о разработчике. Как долго они занимаются кодированием, над какими проектами они работали и каково это – работать с их кодом.
Вы также можете отправить проблему на GitHub для существующего проекта. Это может быть ошибка, запрос функции или вопрос. Здесь организуется обсуждение проблемы, сортируются детали и расставляются приоритеты.
Форкинг
Увидели проект с открытым исходным кодом, который, по вашему мнению, можно улучшить или использовать в качестве основы для другого проекта? Еще один полезный для вас инструмент GitHub – форкинг. Когда вы «форкаете» репозиторий, вы делаете копию всего репозитория на свой собственный аккаунт GitHub. Затем вы можете строить на его основе, улучшать и/или настраивать по своему вкусу.
Например, допустим, вы хотите сделать форум для своего любимого фэндома. Найдите на GitHub существующий проект форума, создайте его и настройте по своему вкусу. Например, добавьте цвета, изображения и стиль вашего фэндома.
Есть идея для крутой функции? Напишите код для расширения существующего проекта и добавьте то, что, по вашему мнению, оценят ваши пользователи. Заметили ошибку? Исправьте все неудобства, которые вы обнаружили в исходном проекте.
Могу ли я использовать Git без использования GitHub?
Да, Git не зависит от GitHub. Вы можете поддерживать локальный контроль версий без GitHub. Это означает отслеживание различных версий кода и истории проекта.
Если вы используете Git только локально на своем компьютере, имейте в виду, что ваш проект не сохраняется ни на одном сервере.
Это означает отсутствие сохраненных резервных копий, если что-то пойдет не так с вашим устройством. Это также затрудняет обмен и совместную работу с другими участниками проекта.
Заключительные мысли
Git и GitHub – два термина, которые часто встречаются в веб-разработке. Независимо от того, работаете ли вы как frontend, backend или full-stack разработчик, они будут неотъемлемой частью вашего рабочего процесса.
Поначалу эти термины могут показаться ошеломляющими. Запрос, слияние, пуш, обзор, форк, репозиторий – что они вообще означают?! Не волнуйтесь, вы быстро привыкнете к жаргону и научитесь ценить эти сервисы.
Вы не только учитесь, просматривая код своих коллег, но и получаете возможность отменить практически любую работу. Душевное спокойствие от осознания того, что вы не испортите продукт своего работодателя непродуманным куском кода? Бесценно.
До новых встреч, друзья!