Получите бесплатно 4 курса для лёгкого старта работы в IT
Получить бесплатно
Главная БлогЧто такое GitHub: задачи, устройство, альтернативы
Высокоуровневый язык программирования

Что такое GitHub: задачи, устройство, альтернативы

Дата публикации: 03.06.2022
3 458
Время чтения: 15 минут
Дата обновления: 10.11.2023
В статье рассказывается:

В статье рассказывается:

  1. Что такое GitHub
  2. Установка и первичная настройка GitHub
  3. Составляющие проекта в GitHub
  4. Создание первого проекта на GitHub
  5. Дополнительные функции GitHub
  6. Альтернатива GitHub
  7. Пройди тест и узнай, какая сфера тебе подходит:
    айти, дизайн или маркетинг.
    Бесплатно от Geekbrains

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

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

Что такое GitHub

Git — популярная технология распределенного контроля версий, позволяющая программистам мониторить изменения в файлах и совместно с другими разработчиками вести работу по созданию ПО. Разработку этой системы осуществил автор Linux — Линус Торвальд. Он создал эту технологию в 2005 году, как платформу, благодаря которой различные программисты смогли участвовать в разработке ядра Линукс.

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

Что такое GitHub
Что такое GitHub

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

Плюсы Git:

  • Открытый ресурс с бесплатным доступом. Пользователи могут без ограничений скачивать и менять исходный код.
  • Компактная и высокоскоростная система. Увеличению скорости способствует локальное выполнение каждой операции. Более того, внутри системы обеспечивается хранение всего Git репозитория в форме небольшого файла, не теряя качество данных.
Узнай, какие ИТ - профессии
входят в ТОП-30 с доходом
от 210 000 ₽/мес
Павел Симонов - исполнительный директор Geekbrains
Павел Симонов
Исполнительный директор Geekbrains
Команда GeekBrains совместно с международными специалистами по развитию карьеры подготовили материалы, которые помогут вам начать путь к профессии мечты.
Подборка содержит только самые востребованные и высокооплачиваемые специальности и направления в IT-сфере. 86% наших учеников с помощью данных материалов определились с карьерной целью на ближайшее будущее!

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

Павел Симонов - исполнительный директор Geekbrains
Павел Симонов
Исполнительный директор Geekbrains
pdf иконка

Топ-30 самых востребованных и высокооплачиваемых профессий 2023

Поможет разобраться в актуальной ситуации на рынке труда

doc иконка

Подборка 50+ бесплатных нейросетей для упрощения работы и увеличения заработка

Только проверенные нейросети с доступом из России и свободным использованием

pdf иконка

ТОП-100 площадок для поиска работы от GeekBrains

Список проверенных ресурсов реальных вакансий с доходом от 210 000 ₽

pdf 3,7mb
doc 1,7mb
Уже скачали 31984 pdf иконка
  • Создание копий для восстановления файлов. Разработчики отмечают эффективность хранении бэкап в Git. Случаи потери данных при использовании этой системы встречаются крайне редко.
  • Простое формирование нескольких путей развития программы. В большинстве других систем ветвление связано с выполнением трудоемких операций по копированию в создаваемую ветку всего кода. Технология Git существенно упрощает эту процедуру.

Рассмотрим подробнее, что такое GitHub и особенности его работы с рассматриваемой системой.

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

GitHub репозиторий — сервис хостинга для хранения данных, который имеет полный набор функций для распределённого контроля версий и работы с исходным кодом. Более того, ГитХаб обеспечивает такие возможности, как контроль доступа, эффективное отслеживание ошибок и задач по каждому проекту.

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

Кроме того, GitHub легко интегрируется со многими современными сервисами. С его помощью можно отправлять электронные уведомления, создавать графики, идеограммы, смайлики, системы @упоминаний (аналогичные тем, что использует Твиттер), а также вложенные перечни задач.

Что такое GitHub
Что такое GitHub

С системой Гит, помимо ГитХаба могут работать и другие ресурсы, к примеру Bitbucket и GitLab. На любом из них можно расположить каталог файловой системы Git.

Установка и первичная настройка GitHub

Прежде всего, следует запомнить ряд терминальных команд:

git clone
git status
git add
git commit -m “ “
git push

Далее добавим еще и такие:

git init
git branch
git merge
git checkout

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

Следует запомнить и такую команду, как git help.

На устройствах Mac уже присутствует терминал. Нужно нажать на значок с лупой справа вверху экрана, а затем ввести слово terminal.

Теперь заходим на GitHub для регистрации собственного аккаунта. При желании можно установить Git, но работа с ГитХаб возможна и без этого. Эту систему нужно устанавливать в том случае, если работа над проектами будет вестись на локальном устройстве. Для этого следует скачать установщик или использовать менеджер пакетов.

Установка и первичная настройка GitHub
Установка и первичная настройка GitHub

Чтобы начать работу, зайдите в «терминал». В случае, когда для всех репозиториев на ПК будет использоваться одно пользовательское имя, нужно ввести:

git config — global user.name “<ваше_имя>”

Вместо <ваше имя> в кавычках запишите свое имя, которое может составляться из любых символов. Если же вы не планируете использовать его для репозиториев, в команде нужно убрать — global.

Затем следует прописать смой е-мейл (он должен совпадать с адресом, который был указан при создании аккаунта на GitHub.

git config — global user.email “<адрес_почты@email.com>”

Отметим, что е-мейл можно и скрыть. Для этого нужно проставить 2 птички в своем ГитХаб аккаунте.

На этом подготовка к работе с Git на локальном устройстве завершена.

Составляющие проекта в GitHub

Основная линия создания кода, имеющая одинаковую историю с другими ветками, называется main (или master). Обычно, это главная ветка, где находится вся актуальная версия, разрабатываемого продукта.

Ветки и сохранения (branch & commits). Линия разработки в GitHub представляет собой историю создания продукта, включающую измененные файлы и коммиты. Для визуализации – нарисуем такую ветку.

Commit — это оператор управления завершением изменения. При отправке коммита с файлами на сервер, у нас появляется возможность для анализа изменений. Для этого нужно кликнуть по нему на GitHub репозитории.

Commit включает прикрепленные файлы и сообщения (к примеру, «создали index.html»). Автоматически в коммите прописывается время его создания, имя автора и указатель HEAD.

Ссылочная переменная указателя дает возможность для гибкого отката к более ранним версиям. Выглядит HEAD следующим образом: a8160621b3c61a07b6bbc75b41e5530ee997124b.

Дарим скидку от 60%
на обучение «Инженер-программист» до 01 декабря
Уже через 9 месяцев сможете устроиться на работу с доходом от 150 000 рублей
Забронировать скидку

К примеру, на сервер был отправлен commit, в котором указано сообщение «корректировки по коду» в ветку main, а затем выяснили, что правки меняют логику продукта и версия становится нестабильной. Используя указатель HEAD этого коммита, мы сможет сделать откат для возврата к стабильной версии, указанной в commit «сделали index.html».

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

  • не создавать помех другим разработчикам в их работе над проектом,
  • не нарушать текущую версию.

Рассмотрим в качестве примера ситуацию, когда программист Вася Кодов работает над задачей по верстке index.html в линии index. В это время разработчица Лена Точкова — верстает catalog.html, в ветке catalog. В каждой линии этих специалистов последним будет commit — «добавили сборку».

Допустим, Кодов раньше завершил свою работу в своей ветке записал коммит «сделал index.html». Когда он направит свою линию кода в main, то там будет виден завершающий commit «сделал index.html».

Составляющие проекта в GitHub
Составляющие проекта в GitHub

Теперь Точкова сможет забрать обновленную версию main (pull) к себе в ветку. При этом, в ее истории коммитов появится запись «добавили сборку, сделал index.html».

Создание первого проекта на GitHub

Рассмотрим процесс создания проекта на ГитХабе, используя среду разработки Visual Studio Code (VS Code).

В начале необходимо создать папку для размещения проекта (если такой папки еще нет).

Затем необходимо открыть VS Code.

Только до 25.11
Скачай подборку материалов, чтобы гарантированно найти работу в IT за 14 дней
Список документов:
ТОП-100 площадок для поиска работы от GeekBrains
20 профессий 2023 года, с доходом от 150 000 рублей
Чек-лист «Как успешно пройти собеседование»
Чтобы получить файл, укажите e-mail:
Введите e-mail, чтобы получить доступ к документам
Подтвердите, что вы не робот,
указав номер телефона:
Введите телефон, чтобы получить доступ к документам
Уже скачали 52300

Параллельно устанавливаем дополнительные анализаторы кода для JavaScript и PHP.

При открытии папки, которую мы создали для размещения проекта, появляется следующий интерфейс:

  • Здесь будут храниться файлы проекта.
  • Здесь можно работать с Гитом.
  • Кнопка создания новых файлов.
  • Кнопка создания новых папок.
В самом начале, когда в проекте еще ничего нет, создается новый файл с названием index.html. При его создании появится окно редактирования. В нем нужно поставить знак «!» и нажать клавишу Tab. Система автоматически создаст скелет чистой HTML страницы. Для сохранения файла нужно использовать комбинацию ctrl+s.

Теперь перейдем в рабочую вкладку Git.

Появится окно, содержащее:

  • Кнопку публикации проекта на ГитХаб.
  • Если нажать на кнопку 1, откроется еще одно окно, где необходимо выбрать второй вариант или тот, где есть слова …public repository.

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

При выборе «public repository» система предложит выбрать начальные файлы, которые будут составлять первый коммит. Нужно проставить птички возле нужных файлов и выбрать «ОК». После этого система перебросит вас на ГитХаб для подтверждения входа в аккаунт.

На этом шаге нам удалось создать и опубликовать первый набор данных на GitHub.

Разберемся, как внести изменения в код и опубликовать новый вариант репозитория. Для этого нужно зайти во вкладку, где находятся файлы, выбрать и отредактировать один из них. Не забывайте для сохранения изменений нажимать crtl+s для Виндоус или cmd+s для MacOS. После этого переходим на вкладку управления системы Git.

На значке вкладки Гит есть цифра 1, расположенная в синем круге. Она указывает на количество файлов, которые были изменены, но по этим изменениям не записи в коммите. Закоммитим и опубликуем наши изменения:

  • Здесь есть кнопка просмотра изменений в файле (ее можно не нажимать).
  • Добавим измененный файл для будущего коммита.
  • Составим комментарий.
  • Формируем коммит.
  • Публикуем созданный commit в GitHub.
Создание первого проекта на GitHub
Создание первого проекта на GitHub

Теперь мы умеем создавать коммиты и отправлять их в GitHub!

Дополнительные функции GitHub

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

Webhooks

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

В случае наступления таких событий ГитХаб осуществляет отправку сообщения с запросом POST на электронный ресурс, который указан для такого случая.

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

При отправке команды push к ГитХаб, сервер получая сообщение осуществляет извлечение данных.

Services

Сервисы ГитХаб, как и новые ПО являются сторонними интеграциями, задача которых состоит в предоставлении различных услуг и улучшении работы программистов.

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

Может быть настроена и постоянная интеграция при помощи CircleCI.

Есть также и возможность для создания интеграции Codeclimate, обеспечивающей анализ кода, формирование отчета «Техническая задолженность» и покрытие тестирования.

Альтернатива GitHub

GitLab также входит в число наиболее популярных онлайн ресурсов для хранения и работы с git-репозиториями. Он базируется на системе баз данных, поэтому установка этого сервиса может вызвать определенные сложности. Но данную проблему нельзя назвать критичной, так как для ее решения можно воспользоваться подробными инструкциями.

Хранилище электронных данных GitLab может работать в облачных сервисах, на официальном ресурсе самого проекта или на отдельном сервере. Различают ряд способов установки репозитория: с применением установочного пакета Omnibus ГитЛаб, из первоначальных файлов, с помощью облачных провайдеров (Гугл Cloud Platform, AWS, ОпенШифт, Azure и др.). Кроме того, есть и некоторые другие варианты.

Запуск сервиса GitLab состоялся через три года после появления ГитХаба, соответственно и пользователей у него пока меньше. Тем не менее, уже сейчас с ним работают более 100 тыс. проектов, включая всемирно известные корпорации: IBM, Сони, Алибаба, NASA, CERN и др.

Альтернатива GitHub
Альтернатива GitHub

Рассмотрим основные возможности, которые можно получить, используя инструменты сервиса GitLab:

  • Создавать, хранить и оперировать публичными и частными хранилищами электронных данных.
  • Обеспечивать совместный доступ к репозиториям, управлять правами доступа групп и отдельных разработчиков.
  • Интегрировать работу над проектами с CI-системами (Jenkins и др.).
  • Контролировать изменения, комменты к проектам, создавать вики-страницы, формы идей и задач, создавать интеграции с другими программными продуктами через API и др.
  • Работать с функциями аутентификации и авторизации. Проводить мониторинг продуктивности и трекинг задач, ошибок и контроля времени. Управлять исходным кодом и консолью для его изменения, репозиториями и контейнерами данных. Обеспечивать постоянную интеграцию (CI. Тестировать качества кода и уязвимость зависимостей, а также сканировать их.
Сервис ГитЛаб включает две версии со свободным доступом: «Коммюнити Эдишн» для небольших групп и персональных проектов (может работать на локальном сервере разработчика) и бесплатный облачный ресурс, который разворачивается на удаленном сервере хостинга (размер хранилища до 10 Гб). Кроме того, существует и две платные версии: обычная Enterprise Edition Starter, а также Enterprise Edition Premium.

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

Хотите стать мастером универсального языка программирования? Узнайте, как создавать сайты, приложения и нейросети с курсом Python-разработчика. Станьте востребованным специалистом в IT сфере уже через 9 месяцев обучения. Присоединяйтесь к дружной команде опытных преподавателей и студентов, которые уже достигли успеха в сфере программирования.
Оцените статью:
5
Добавить комментарий

Сортировать:
По дате публикации
По рейтингу
Читайте также
prev
next
Бесплатные вебинары:
prev
next
Как работает дизайн-студия на примере одного кейса 

Как работает дизайн-студия на примере одного кейса 

Узнать подробнее
Инновационные подходы к обучению информационным технологиям

Инновационные подходы к обучению информационным технологиям

Узнать подробнее
Как стать Python-разработчиком

Как стать Python-разработчиком

Узнать подробнее
Что нужно знать разработчику

Что нужно знать разработчику

Узнать подробнее
Кто такой тестировщик и как им стать

Кто такой тестировщик и как им стать

Узнать подробнее
Чем занимается программист и как им стать

Чем занимается программист и как им стать

Узнать подробнее
Как искусственный интеллект помогает и мешает задачам кибербезопасности

Как искусственный интеллект помогает и мешает задачам кибербезопасности

Узнать подробнее
Бесплатный вебинар про внедрение искусственного интеллекта

Бесплатный вебинар про внедрение искусственного интеллекта

Узнать подробнее
Какие есть профессии в ИТ

Какие есть профессии в ИТ

Узнать подробнее
Смените профессию,
получите новые навыки,
запустите карьеру
Поможем подобрать обучение:
Забрать подарок

Получите подробную стратегию для новичков на 2023 год, как с нуля выйти на доход 200 000 ₽ за 7 месяцев

Подарки от Geekbrains из закрытой базы:
Осталось 17 мест

Поздравляем!
Вы выиграли 4 курса по IT-профессиям.
Дождитесь звонка нашего менеджера для уточнения деталей

Иван Степанин
Иван Степанин печатает ...