Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг Управление проектами
21 Ноя 2023
13 мин
2417

GitHub: что это, основы работы и для чего он нужен

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

Рассказываем, что такое GitHub, почему многим разработчикам без него не обойтись и как с ним работать. Объясняем самые главные термины и даем рекомендации, как оформить профиль, чтобы привлечь внимание работодателей.

Что такое GitHub

Согласно статистике, 100 миллионов разработчиков используют GitHub. Там есть более 372 миллионов репозиториев — хранилищ данных, в том числе не менее 28 миллионов публичных. Несмотря на то что у GitHub есть много аналогов, разработчики продолжают пользоваться именно им. Эта платформа закрепила за собой звание самой многофункциональной и удобной.

Но начнем с того, что такое GitHub, чем он отличается от Git и кому точно нужен для эффективной работы.

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

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

GitHub упрощает совместную работу: несколько людей могут одновременно работать над одним проектом, а система отслеживает, кто и что сделал. Это помогает предотвратить ошибки, улучшить код и сделать процесс разработки более эффективным.

Из-за того что в GitHub разработчики могут много общаться друг с другом, сообщество постепенно расширялось, а платформа «обросла» функционалом социальной сети. У каждого разработчика есть свой профиль, где отображается его активность, публичные репозитории, подписчики (фолловеры) и другая информация. Разработчик может подписываться на других участников, видеть их активность и следить за их работой, а еще — подписываться на проекты, чтобы быть в курсе обновлений и изменений.

Чем GitHub отличается от Git

Без Git представить GitHub было бы невозможно. Git — это система контроля версий, которую создали в 2005 году. Только через три года появился GitHub.
Через Git можно отслеживать изменения в исходном коде проекта, сохранять различные версии файлов и координировать работу множества разработчиков над одним проектом.

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

Разработчики могут синхронизировать свои локальные репозитории Git с удаленными репозиториями на GitHub, обмениваться изменениями и управлять проектом в целом.

Как понять, нужен ли вам GitHub

Кому GitHub будет полезен:

🟢 Разработчикам вне зависимости от уровня опыта, которые работают в команде.

🟢 Разработчикам на проектах с открытым исходным кодом.

🟢 Разработчикам из разных частей мира, которые удаленно работают над одним проектом.

🟢 Студентам и тем, кто обучается программированию: здесь можно не только хранить проекты и создавать таким образом портфолио, но и обмениваться опытом с другими студентами.

Кто может обойтись без GitHub:

🟢 Разработчики с небольшими личными проектами. Если вам не нужно совместное управление версиями или широкие инструменты для совместной разработки, то GitHub может и не пригодиться.

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

В онлайн-университете Skypro вас научат пользоваться GitHub на любом курсе по программированию, в том числе на профессии «Java-разработчик». Мир Java разнообразен и интересен, поэтому, если вы давно мечтали начать программировать — это отличный язык для старта. На курсе вы освоите все необходимые инструменты. Научитесь проектировать архитектуры приложения и схемы данных, а еще многое другое. В конце учебы, через 11 месяцев, получите диплом о профпереподготовке.

Основные термины для работы в GitHub

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

Репозиторий

Репозиторий — это хранилище данных для проекта в виде папки. Его можно делать публичным или приватным.

Здесь находятся файлы, иконки, картинки и другие объекты, которые связаны с разработкой ПО. Репозиторий использует Git для отслеживания изменений в коде. Это дает разработчикам возможность возвращаться к предыдущим версиям и объединять изменения от разных специалистов.

Репозиторий хранит историю всех изменений в коде. Каждое фиксируется в виде коммита, и разработчики могут просматривать, кто и когда вносил изменения. В репозитории можно создавать параллельные линии разработки. Это полезно, например, для работы над новой функцией или исправлениями без воздействия на основной код.

Еще в репозитории разработчики создают issues для отслеживания задач, багов и других вопросов. Команда может обсуждать их прямо там.

Управлять репозиториями на GitHub можно разными способами: сразу через интерфейс сайта, командную строку (Git Bash), десктопные приложения GitHub или через интеграцию со средами разработки (IDE).

Метод выбирают в зависимости от своих предпочтений и уровня опыта. Для начинающих удобнее использовать веб-интерфейс или десктопные приложения. Опытные разработчики часто предпочитают командную строку для более тонкой настройки и управления.

Ветка

Ветка (branch) — это отдельная копия вашего проекта, на которой вы можете вносить изменения. При этом основной код не затрагивается.

Если создать новый репозиторий, в нём автоматически создается основная ветка — main. А чтобы делать новые версии проекта, можно создавать дополнительные ветки.

Процесс выглядит так:

🟡 Создаем ветку, например чтобы добавить новую функцию.
🟡 Вносим изменения в код: работаем в своей ветке, добавляем новый функционал или исправляем ошибки.
🟡 Тестируем: нужно убедиться, что всё работает правильно.
🟡 Предлагаем слияние рабочей ветки с основной: если всё в порядке, можно отправить запрос на слияние — pull request.
🟡 Завершаем процесс слияния (merge): изменения должны пройти проверку, тогда их можно слить с основной веткой — и новая функция станет доступна в проекте.

Фактически ветка — это временное место для экспериментов и работы над новыми идеями, прежде чем они окажутся в основном коде проекта.

Команды для работы с репозиторием

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

Коммит

Коммит (commit) — это фиксированный набор изменений в коде проекта. Коммиты используют, чтобы сохранять состояние проекта в определенный момент времени. Это своего рода «снимки» кода, которые отражают, что разработчики изменили, добавили или удалили.

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

У коммитов есть временные метки и хеш-суммы.

Временная метка — это дата и время, когда создали коммит, информация о том, когда изменения зафиксировались в репозитории. Хеш-сумма — это уникальная строка символов, которая представляет коммит. По сути это вычисляемое значение, которое зависит от содержания коммита.

Пуш

Пуш (push) — это отправка локальных изменений в удаленный репозиторий на GitHub. После создания коммита разработчик отправляет изменения в репозиторий с помощью команды git push. Это делает новые коммиты доступными для других.

Перед тем как отправить изменения на GitHub, нужно подготовить их к пушу. Это делается с помощью команды git push. Изменения добавляются в «индекс» (staging area) — список изменений для отправки.

Перед пушем лучше убедиться, что ваша локальная версия кода актуальна и включает все необходимые изменения. Поэтому перед выполнением git push часто используют git pull, чтобы сначала получить обновления с удаленного репозитория и удостовериться, что локальный код актуален.

Клон

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

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

Форк

Форк (fork) — это копирование чужого репозитория на личном аккаунте GitHub.

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

В онлайн-университете Skypro на курсе «Python-разработчик» вы не только овладеете языком Python и научитесь работать с GitHub. Colab, PyCharm, SQLite, PostgreSQL, SQLAlchemy, Django и другие важнейшие инструменты перестанут быть просто загадочными словами — вы будете использовать их в повседневной работе. Научитесь разрабатывать логику работы программ, создавать базы данных и автоматизировать их работу, писать код для простых и сложных команд.

Как создать свой первый проект в GitHub

Разбираемся на практике, как работать в GitHub.

Способы работы с GitHub

Новичку проще всего начать работу на сайте через браузер: для этого не нужно знать команды для терминала. Здесь можно создавать свои репозитории и выполнять в нём все действия, которые перечислены в предыдущей главе. Если вы не активный пользователь и вам нужно просто вносить небольшие изменения, сайт отлично подойдет.

Более продвинутым разработчикам, которые хотят глубже погрузиться в GitHub, стоит установить на локальный компьютер GitHub Desktop — это GUI-клиент, или, простыми словами, графический интерфейс пользователя (Graphical User Interface). Он облегчает работу с репозиториями Git и GitHub, при этом не нужно использовать командную строку.

А если хочется использовать все возможности платформы, тогда нужен GitHub CLI (Command Line Interface), или интерфейс командной строки.

Учимся пошагово работать в репозитории

Рассказываем, как создать свой первый репозиторий, начать работу в ветке, сделать коммиты и предложить их для слияния через pull request.

Создаем аккаунт

Сначала нужно создать учетную запись на сайте GitHub. Для этого используем электронную почту, которая станет логином.

Создаем репозиторий

Для этого нужно нажать на + на главной странице в правом верхнем углу, а затем на выпадающую кнопку New repository.


Дальше нужно заполнить информацию о репозитории: задать уникальное имя в рамках аккаунта, добавить описание, выбрать публичность или приватность. Если вы хотите создать файл README с подробной информацией о проекте, нужно инициализировать репозиторий с этим файлом. Он автоматически создается в корневой директории репозитория.

Если проект использует какие-либо зависимости или языки программирования, можно добавить файл .gitignore. Это поможет игнорировать файлы, которые не нужны в репозитории.

Наконец, выбираем тип лицензии и нажимаем кнопку Create repository — и вы перенаправитесь на его страницу.

Работаем с ветками и коммитами

Чтобы создать ветку, нужно перейти на вкладку Code в репозитории и нажать на выпадающий список в верхней части, где написано main.

В текстовом поле вводим название ветки и кликаем на Create branch. Новая ветка отразится в основной, они будут одинаковыми.

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

Вот как это сделать:

1. Перейдите на страницу вашего репозитория в нужную ветку.

2. Нажмите на кнопку Add file и выберите Create new file — или найдите существующий файл, в который хотите внести изменения.

3. Внесите изменения в текстовое поле. В случае создания нового файла укажите его имя в поле Name your file.

4. Прокрутите страницу вниз и найдите раздел Commit new file. Здесь вы можете указать заголовок коммита и описать изменения.

5. Нажмите на кнопку Commit new file, чтобы сохранить изменения.

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

Запускаем слияние, или изучаем pull request

Если вы вносите изменения в чужой репозиторий, вы можете предложить их для слияния через pull request.

Вот как выглядит этот процесс:

После того как вы создали коммиты, перейдите на вкладку pull requests вашего репозитория.

Нажмите на кнопку New pull request.

В разделе base выберите ветку, в которую хотите внести изменения (обычно это main). В разделе compare выберите созданную ветку.

Нажмите на кнопку Create pull request. Здесь вы можете описать, какие изменения внесли и для чего.

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

Если всё готово к слиянию, администратор репозитория или владелец проекта может нажать кнопку Merge pull request. Это слияние изменений вашей ветки в основную.

В онлайн-университете Skypro на курсе «Веб-разработчик» вы с нуля научитесь писать код на популярном языке JavaScript и работать с переменными. Еще сможете верстать сайты с помощью HTML и CSS, адаптировать сервисы под разные устройства и многое другое. Мир разработки не только интересный и захватывающий, но и предлагает достойные зарплаты: по данным zarplan.com, средний доход веб-разработчика на JavaScript — 210 542 ₽.

Как изучить чужие проекты на GitHub

Часто хочется взглянуть на удачные примеры разработки крупных игроков рынка и перенять их опыт. Для этого обратите внимание на детали проекта: он должен быть актуальным. Репозитории десятилетней давности вряд ли станут для вас полезными.

Как посмотреть чужие репозитории на GitHub:

1. Используйте функцию поиска (вверху экрана): введите название или ключевые слова, связанные с темой или проектом, который вас интересует.

2. Посмотреть все репозитории конкретного пользователя можно в его профиле. Для этого введите в адресной строке браузера github.com/username. Вместо username подставьте имя пользователя.

3. Используйте фильтры по языку программирования, лицензии, активности, чтобы уточнить результаты поиска или просматривать репозитории по вашим интересам.

4. Внимательно прочитайте файл README, который обычно содержится в корне репозитория.

5. Переходите по вкладкам репозитория, чтобы узнать больше о его структуре, коде, задачах, pull requests, ветках.

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

7. Обратите внимание на файл лицензии (обычно LICENSE или LICENSE.md). Это нужно, чтобы понимать условия использования и распространения кода.

8. Перейдите на вкладку Contributors, чтобы увидеть список людей, которые внесли вклад в проект. Это даст представление о том, насколько активное и разнообразное сообщество у проекта.

Как оформить профиль в GitHub

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

Делимся советами, как сделать профиль более привлекательным:

🟡 Профиль должен содержать ясное и информативное описание — кто вы, чем занимаетесь, какие у вас навыки. Укажите, какие технологии используете и что вас вдохновляет.

🟡 Если вы открыты для предложений о работе, укажите контактные данные или ссылку на соцсети, например линкедин.

🟡 Укажите свой статус занятости: это поможет работодателям понять, готовы ли вы к работе и что именно вам интересно.

🟡 Выделите свои лучшие проекты. Создайте README-файлы с подробными описаниями, скриншотами и ссылками на демо, если это возможно.

🟡 Станьте контрибьютором — регулярно вносите вклады в проекты. Contribution на главной странице покажет вашу активность. А чем больше активности, тем лучше.

🟡 Если у вас есть блог или вы пишете статьи о программировании, добавьте ссылки на них. Это может показать вашу экспертизу и интерес к развитию отрасли.

🟡 Участвуйте в обсуждениях, поддерживайте других участников сообщества. Это покажет, что вы не только пишете код, но и обладаете развитыми личными качествами.

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

Главное о работе в GitHub

🟢 GitHub — это платформа для совместной разработки программного обеспечения, с помощью которой программисты работают над проектами в режиме реального времени. Еще GitHub работает как соцсеть: здесь разработчики могут обмениваться опытом, подписываться на проекты и общаться.

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

🟢 Чтобы работать в GitHub, нужно разобраться в основных терминах. Репозиторий — это хранилище данных для проекта, где можно создавать ветки — отдельные копии проекта. В ветках можно вносить коммиты — изменения в коде. Чтобы отправить локальные коммиты в репозиторий, нужна команда «пуш». Еще можно клонировать репозиторий — создать локальную копию на компьютере, или форкнуть — копировать чужой репозиторий в свой аккаунт.

Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей

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