fbpx

Каталог статей

Каталог статей для размещения статей информационного характера

Как выучить

Git и GitHub

Git и GitHub

Все разработчики используют ту или иную систему контроля версий (СКВ) – инструмент, позволяющий им сотрудничать с другими разработчиками над проектом без опасности перезаписи работ друг друга, а также откатываться к предыдущим версиям кодовой базы в случае обнаружения проблем. Самой популярной VCS (по крайней мере, среди веб-разработчиков) является Git, а также GitHub – сайт, предоставляющий хостинг для ваших репозиториев и несколько инструментов для работы с ними. Цель этого модуля – научить вас тому, что вам нужно знать об этих двух системах.

Обзор

ВКС необходимы для разработки программного обеспечения:

  • Редко когда вы работаете над проектом полностью самостоятельно, и как только вы начинаете работать с другими людьми, вы рискуете столкнуться с конфликтами в работе друг друга – это когда вы оба пытаетесь обновить один и тот же фрагмент кода в одно и то же время. Вам необходимо иметь какой-то механизм, чтобы управлять такими ситуациями и избежать потери работы в результате.
  • При работе над проектом самостоятельно или вместе с другими, вы захотите иметь возможность создавать резервные копии кода в центральном месте, чтобы не потерять его в случае поломки компьютера.
  • Вы также захотите иметь возможность откатиться к более ранним версиям, если позже обнаружится проблема. Возможно, вы уже начали делать это в своей работе, создавая различные версии одного и того же файла, например, myCode.js , myCode_v2.js , myCode_v3.js , myCode_final.js , myCode_really_really_final.js и т.д., но это очень опасно и ненадежно.
  • Разные члены команды обычно хотят создавать свои собственные отдельные версии кода (в Git’е они называются ветками), работать над новой функцией в этой версии, а затем добиться ее слияния контролируемым образом (в GitHub мы используем pull requests) с основной версией, когда они закончат работу над ней.

VCS предоставляют инструменты для удовлетворения вышеперечисленных потребностей. Git является примером VCS, а GitHub – это веб-сайт + инфраструктура, предоставляющая Git-сервер плюс ряд действительно полезных инструментов для работы с git-репозиториями индивидуально или в команде, таких как сообщения о проблемах с кодом, инструменты рецензирования, функции управления проектами, такие как назначение задач и статусов задач, и многое другое.

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

Хотите стать веб-разработчиком?

Мы собрали курс, включающий всю необходимую информацию для достижения вашей цели.

Предварительные условия

Чтобы использовать Git и GitHub, вам необходимо:

  • Настольный компьютер с установленным на нем Git (см. страницу загрузки Git).
  • Инструмент для использования Git. В зависимости от того, как вам нравится работать, вы можете использовать клиент Git с графическим интерфейсом (мы рекомендуем GitHub Desktop, SourceTree или Git Kraken) или просто использовать окно терминала. На самом деле, возможно, вам будет полезно познакомиться хотя бы с основами команд терминала git, даже если вы собираетесь использовать графический интерфейс.
  • Учетная запись GitHub. Если у вас его еще нет, зарегистрируйтесь по указанной ссылке.

Что касается предварительных знаний, вам не нужно ничего знать о веб-разработке, Git/GitHub или VCS, чтобы начать этот модуль. Однако, рекомендуется знать немного кодирования, чтобы у вас была достаточная компьютерная грамотность, и иметь некоторый код для хранения в ваших репозиториях!

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

Примечание: GitHub – это не единственный сайт/инструментарий, который вы можете использовать с Git. Существуют и другие альтернативы, такие как GitLab, которые вы можете попробовать, а также вы можете попробовать установить свой собственный Git-сервер и использовать его вместо GitHub. В этом курсе мы остановились только на GitHub, чтобы предоставить единственный работающий способ.

Руководства

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

Начните с этого – это практическое руководство поможет вам сразу приступить к использованию GitHub, изучить основы Git, такие как создание репозиториев и веток, внесение коммитов, открытие и объединение запросов на исправление.

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

Форкинг проектов необходим, когда вы хотите внести свой вклад в чужой код. Это руководство объясняет, как это сделать.

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

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

Примечание: С помощью Git и GitHub можно делать гораздо больше, но мы считаем, что все вышеперечисленное представляет собой минимум знаний, необходимых для эффективного использования Git. По мере углубления в Git вы начнете понимать, что легко ошибиться, если начать использовать более сложные команды. Не волнуйтесь, даже профессиональные веб-разработчики иногда находят Git запутанным, и часто решают проблемы путем поиска решений в Интернете или на таких сайтах, как Flight rules for Git и Dangit, git!

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

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