К этому моменту вы уже познакомились с 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.
Обычно процесс выглядит следующим образом:
- Разработчик работает локально.
- Создает коммиты через Git.
- Отправляет изменения на GitHub.
- Другие участники получают доступ к этим изменениям.
Получается две копии проекта:
- локальная;
- удаленная.
Они регулярно синхронизируются между собой. Такая схема используется практически во всех коммерческих проектах.
Создание удаленного репозитория
Создадим первый репозиторий. После входа в 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 начинает работать так, как его используют в повседневной разработке.