$ sudo teach IT

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

Представьте ситуацию: вы создали проект, сделали десятки коммитов и хотите продолжить работу с другого компьютера. Или вам необходимо показать код коллеге, получить обратную связь от команды, хранить резервную копию проекта или совместно разрабатывать приложение вместе с другими специалистами. Для решения этих задач используется GitHub.

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

Сегодня GitHub используется практически повсеместно:

  • в коммерческой разработке;
  • в open source-проектах;
  • в образовательных программах;
  • при поиске работы;
  • для хранения личных проектов и портфолио.

Понимание GitHub является обязательным навыком для большинства IT-специалистов. Даже если вы не являетесь разработчиком и работаете аналитиком, тестировщиком или инженером данных, рано или поздно вам придется взаимодействовать с репозиториями на GitHub.

В этом уроке мы разберем, чем Git отличается от GitHub, создадим учетную запись и научимся создавать удаленные репозитории.

Ключевые термины

  • Git — система контроля версий, которая отслеживает изменения в проекте и хранит историю разработки.
  • GitHub — облачный сервис для хранения Git-репозиториев и совместной работы над проектами.
  • Репозиторий — место хранения файлов проекта и истории изменений.
  • Удаленный репозиторий — репозиторий, который находится на сервере и доступен через интернет.
  • Локальный репозиторий — репозиторий, расположенный на компьютере разработчика.
  • Аккаунт GitHub — личная учетная запись пользователя на платформе GitHub.
  • README — файл с описанием проекта, который обычно отображается на главной странице репозитория.
  • Open Source — проекты с открытым исходным кодом, доступным для просмотра и участия другим разработчикам.
  • URL репозитория — адрес, по которому можно получить доступ к удаленному репозиторию.

Основная часть

Очень часто начинающие специалисты считают, что Git и GitHub — это одно и то же. На практике это разные инструменты, которые решают разные задачи.

Git — это программа, которая устанавливается на компьютер и отвечает за контроль версий.

GitHub — это онлайн-платформа, которая использует Git и предоставляет инфраструктуру для хранения репозиториев и совместной работы.

Хорошая аналогия — текстовый документ и облачное хранилище. Представьте, что вы пишете дипломную работу в текстовом редакторе. Сам редактор позволяет создавать и изменять документ. Однако если вы хотите хранить документ в облаке, делиться им с другими людьми или получать доступ с разных устройств, понадобится дополнительный сервис. В этой аналогии Git — это редактор, а GitHub — облачное хранилище.

Git может работать полностью самостоятельно. Однако возникает проблема.

  • Если компьютер выйдет из строя, проект может быть потерян.
  • Если нужно показать код коллеге, придется пересылать архивы.
  • Если необходимо работать с нескольких устройств, придется придумывать способы синхронизации.

Именно здесь появляется GitHub. GitHub предоставляет удаленное хранилище для Git-репозиториев. Фактически это сервер, на котором хранится копия вашего проекта. В результате появляется множество преимуществ.

Во-первых, проект получает резервную копию. Даже если ноутбук будет утерян или сломается жесткий диск, репозиторий останется на GitHub.

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

В-третьих, появляется история развития проекта, доступная всей команде.

Можно увидеть:

  • кто выполнил изменение;
  • когда оно было выполнено;
  • какие файлы были затронуты;
  • почему была внесена правка.

По этой причине практически любая современная команда использует GitHub или аналогичные платформы.

Существуют и другие сервисы:

  • GitLab;
  • Bitbucket;
  • Azure DevOps.

Однако GitHub является самым популярным и наиболее распространенным вариантом. Помимо хранения кода GitHub предоставляет множество дополнительных возможностей.

Например:

  • управление задачами;
  • проведение code review;
  • работа через Pull Request;
  • автоматическое тестирование;
  • публикация документации;
  • хранение релизов проекта.

На начальном этапе достаточно понимать главное. Git хранит историю изменений. GitHub хранит Git-репозитории и помогает людям работать вместе.

Создание аккаунта GitHub

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

В процессе регистрации потребуется указать:

  • адрес электронной почты;
  • пароль;
  • имя пользователя.

Имя пользователя особенно важно. Оно станет частью адреса вашего профиля. Позже именно этот профиль можно будет показывать работодателям, коллегам и преподавателям.

После завершения регистрации рекомендуется настроить профиль.

Желательно добавить:

  • фотографию;
  • краткое описание;
  • ссылки на профессиональные ресурсы.

Даже если вы только начинаете карьеру, профиль GitHub постепенно станет частью вашего портфолио. Многие работодатели при рассмотрении кандидатов обращают внимание именно на GitHub-аккаунт.

По нему можно оценить:

  • активность специалиста;
  • наличие собственных проектов;
  • опыт командной работы;
  • уровень владения Git.

Поэтому полезно с самого начала вести профиль аккуратно и регулярно публиковать проекты.

Что такое удаленный репозиторий

После регистрации можно создавать удаленные репозитории. Удаленный репозиторий представляет собой хранилище проекта на сервере GitHub.

Обычно процесс выглядит следующим образом:

  1. Разработчик работает локально.
  2. Создает коммиты через Git.
  3. Отправляет изменения на GitHub.
  4. Другие участники получают доступ к этим изменениям.

Получается две копии проекта:

  • локальная;
  • удаленная.

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

Создание удаленного репозитория

Создадим первый репозиторий. После входа в GitHub нажмите кнопку создания нового репозитория.

Появится форма настройки.

Основными параметрами являются:

  • Repository name - Имя репозитория. Например test. Именно это имя станет частью URL проекта.
  • Description - Краткое описание проекта. Например Тестовый репозиторий Описание не является обязательным, но помогает другим участникам быстрее понять назначение проекта.
  • Visibility - Здесь выбирается режим доступа. Доступны два варианта: Public, Private. Для учебных проектов чаще всего используют Public.
  • Initialize this repository with README — GitHub автоматически создаст файл README.md и добавит его в первый коммит. Если репозиторий создаётся для уже существующего локального проекта, обычно эту опцию оставляют выключенной, чтобы удалённый репозиторий был пустым и его было проще связать с локальным.

После заполнения формы остается нажать кнопку создания репозитория. Через несколько секунд репозиторий будет готов к работе. У него появится собственный адрес. Именно этот адрес будет использоваться для подключения локального проекта.

Наиболее частые ошибки

  • Считать Git и GitHub одним и тем же инструментом.
    Git отвечает за контроль версий, а GitHub предоставляет площадку для хранения репозиториев и совместной работы.

  • Создавать аккаунт с неудачным именем пользователя.
    Имя пользователя становится частью профессионального профиля и может использоваться работодателями для оценки кандидата.

  • Не заполнять описание репозитория.
    Без описания другим участникам сложнее понять назначение проекта.

  • Публиковать коммерческий код в Public-репозитории.
    Это может привести к утечке исходного кода.

  • Игнорировать файл README.
    Отсутствие документации усложняет знакомство с проектом.

  • Создавать множество репозиториев без структуры.
    Со временем становится сложно ориентироваться в проектах.

  • Использовать GitHub как единственное место хранения файлов.
    GitHub предназначен для хранения репозиториев, а не для хранения произвольных документов и архивов.

Наиболее частые вопросы

  • Можно ли использовать Git без GitHub?
    Да. Git является самостоятельной системой контроля версий и может работать полностью локально. Однако без удаленного репозитория вы теряете преимущества совместной работы и резервного хранения проекта.

  • Нужен ли GitHub тестировщику или аналитику?
    Да. Многие тестовые сценарии, SQL-скрипты, отчеты и конфигурационные файлы хранятся в репозиториях. Поэтому понимание GitHub полезно не только разработчикам.

  • Что выбрать: Public или Private репозиторий?
    Для учебных и демонстрационных проектов обычно выбирают Public. Для рабочих и коммерческих проектов рекомендуется использовать Private.

  • Можно ли изменить имя репозитория после создания?
    Да. GitHub позволяет переименовывать репозитории через настройки проекта. Однако после изменения имени может потребоваться обновить ссылки в других инструментах.

  • Сколько репозиториев можно создать на GitHub?
    Для большинства пользователей ограничений достаточно, чтобы хранить большое количество учебных и рабочих проектов.

  • Что делать, если проект уже существует локально?
    Создать новый удаленный репозиторий на GitHub и позже подключить его к локальному проекту. Именно этот процесс используется чаще всего в реальной разработке.

  • Зачем нужен README?
    README помогает быстро понять назначение проекта, порядок запуска и основные особенности работы. Для большинства проектов наличие README считается хорошей практикой.

Итоги

В этом уроке вы познакомились с GitHub и разобрались, какую роль он играет в современной разработке.

Мы выяснили, что Git и GitHub решают разные задачи: Git отвечает за контроль версий, а GitHub предоставляет инфраструктуру для хранения репозиториев и совместной работы.

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

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

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

На следующий урок