В статье рассказывается:
- Что такое GitHub
- Установка и первичная настройка GitHub
- Составляющие проекта в GitHub
- Создание первого проекта на GitHub
- Дополнительные функции GitHub
- Альтернатива GitHub
-
Пройди тест и узнай, какая сфера тебе подходит:
айти, дизайн или маркетинг.Бесплатно от Geekbrains
Не все знают, что такое GitHub. Если коротко, то это хостинг для проектов, которые можно хранить удаленно и получить к ним доступ из любой точки мира. Но для новичков это может или ни о чем не говорить, или не давать представление о сути ресурса.
Для полного понимания того, что же такое GitHub, необходимо разобраться с тем, что такое Git и зачем нужна эта система. В нашей статье мы расскажем об этом, а также приведем инструкцию по установке и настройке GitHub и рассмотрим его альтернативы.
Что такое GitHub
Git — популярная технология распределенного контроля версий, позволяющая программистам мониторить изменения в файлах и совместно с другими разработчиками вести работу по созданию ПО. Разработку этой системы осуществил автор Linux — Линус Торвальд. Он создал эту технологию в 2005 году, как платформу, благодаря которой различные программисты смогли участвовать в разработке ядра Линукс.
Особенности системы Git заключаются в несложном дизайне, высокой скорости, и широких возможностях для нелинейной разработки. Кроме того, благодаря максимальной децентрализации, эта технология позволяет успешно вести разработку масштабных проектов.
Технологию хранения данных Git можно сравнить с комплектом снимков микроскопической файловой системы. Когда разработчик сохраняет определенное состояние своего проекта, в системе будет сформирована ссылка на это сохранение. Таким образом, технология Git позволяет сделать снимок файла в конкретный момент.
Плюсы Git:
- Открытый ресурс с бесплатным доступом. Пользователи могут без ограничений скачивать и менять исходный код.
- Компактная и высокоскоростная система. Увеличению скорости способствует локальное выполнение каждой операции. Более того, внутри системы обеспечивается хранение всего Git репозитория в форме небольшого файла, не теряя качество данных.
входят в ТОП-30 с доходом
от 210 000 ₽/мес
Скачивайте и используйте уже сегодня:
Топ-30 самых востребованных и высокооплачиваемых профессий 2023
Поможет разобраться в актуальной ситуации на рынке труда
Подборка 50+ бесплатных нейросетей для упрощения работы и увеличения заработка
Только проверенные нейросети с доступом из России и свободным использованием
ТОП-100 площадок для поиска работы от GeekBrains
Список проверенных ресурсов реальных вакансий с доходом от 210 000 ₽
- Создание копий для восстановления файлов. Разработчики отмечают эффективность хранении бэкап в Git. Случаи потери данных при использовании этой системы встречаются крайне редко.
- Простое формирование нескольких путей развития программы. В большинстве других систем ветвление связано с выполнением трудоемких операций по копированию в создаваемую ветку всего кода. Технология Git существенно упрощает эту процедуру.
Рассмотрим подробнее, что такое GitHub и особенности его работы с рассматриваемой системой.
В самом начале мы отмечали, что технология Git позволяет осуществлять распределенный контроль версий проекта.
Доступ к каталогу файловой системы, который хранится на GitHub обеспечивается интерфейсом командной строки Гит и Git-команд. Пользователи получают также возможность для работы с такими функциями, как документация, формирование запросов на принятие изменений, анализ истории сохранений.
Кроме того, GitHub легко интегрируется со многими современными сервисами. С его помощью можно отправлять электронные уведомления, создавать графики, идеограммы, смайлики, системы @упоминаний (аналогичные тем, что использует Твиттер), а также вложенные перечни задач.
С системой Гит, помимо ГитХаба могут работать и другие ресурсы, к примеру Bitbucket и GitLab. На любом из них можно расположить каталог файловой системы Git.
Установка и первичная настройка GitHub
Прежде всего, следует запомнить ряд терминальных команд:
git clone
git status
git add
git commit -m “ “
git push
Далее добавим еще и такие:
git init
git branch
git merge
git checkout
Представленный здесь список команд понадобится при работе с командой программистов для внесения определенных изменений в программный продукт, тестирования его или сохранения внесенных изменений.
На устройствах Mac уже присутствует терминал. Нужно нажать на значок с лупой справа вверху экрана, а затем ввести слово terminal.
Теперь заходим на GitHub для регистрации собственного аккаунта. При желании можно установить Git, но работа с ГитХаб возможна и без этого. Эту систему нужно устанавливать в том случае, если работа над проектами будет вестись на локальном устройстве. Для этого следует скачать установщик или использовать менеджер пакетов.
Чтобы начать работу, зайдите в «терминал». В случае, когда для всех репозиториев на ПК будет использоваться одно пользовательское имя, нужно ввести:
git config — global user.name “<ваше_имя>”
Вместо <ваше имя> в кавычках запишите свое имя, которое может составляться из любых символов. Если же вы не планируете использовать его для репозиториев, в команде нужно убрать — global.
Скачать файлЗатем следует прописать смой е-мейл (он должен совпадать с адресом, который был указан при создании аккаунта на GitHub.
git config — global user.email “<адрес_почты@email.com>”
На этом подготовка к работе с Git на локальном устройстве завершена.
Составляющие проекта в GitHub
Основная линия создания кода, имеющая одинаковую историю с другими ветками, называется main (или master). Обычно, это главная ветка, где находится вся актуальная версия, разрабатываемого продукта.
Ветки и сохранения (branch & commits). Линия разработки в GitHub представляет собой историю создания продукта, включающую измененные файлы и коммиты. Для визуализации – нарисуем такую ветку.
Commit — это оператор управления завершением изменения. При отправке коммита с файлами на сервер, у нас появляется возможность для анализа изменений. Для этого нужно кликнуть по нему на GitHub репозитории.
Commit включает прикрепленные файлы и сообщения (к примеру, «создали index.html»). Автоматически в коммите прописывается время его создания, имя автора и указатель HEAD.
Ссылочная переменная указателя дает возможность для гибкого отката к более ранним версиям. Выглядит HEAD следующим образом: a8160621b3c61a07b6bbc75b41e5530ee997124b.
на обучение «Инженер-программист» до 01 декабря
К примеру, на сервер был отправлен commit, в котором указано сообщение «корректировки по коду» в ветку main, а затем выяснили, что правки меняют логику продукта и версия становится нестабильной. Используя указатель HEAD этого коммита, мы сможет сделать откат для возврата к стабильной версии, указанной в commit «сделали index.html».
Обычно, стабильная и актуальная линия создания кода находится в ветке main. В то же время, у программиста есть возможность для создания своей линии, где будут находиться новые задачи. Это решение позволяет:
- не создавать помех другим разработчикам в их работе над проектом,
- не нарушать текущую версию.
Читайте также!
Рассмотрим в качестве примера ситуацию, когда программист Вася Кодов работает над задачей по верстке index.html в линии index. В это время разработчица Лена Точкова — верстает catalog.html, в ветке catalog. В каждой линии этих специалистов последним будет commit — «добавили сборку».
Допустим, Кодов раньше завершил свою работу в своей ветке записал коммит «сделал index.html». Когда он направит свою линию кода в main, то там будет виден завершающий commit «сделал index.html».
Теперь Точкова сможет забрать обновленную версию main (pull) к себе в ветку. При этом, в ее истории коммитов появится запись «добавили сборку, сделал index.html».
Создание первого проекта на GitHub
Рассмотрим процесс создания проекта на ГитХабе, используя среду разработки Visual Studio Code (VS Code).
В начале необходимо создать папку для размещения проекта (если такой папки еще нет).
Затем необходимо открыть VS Code.
Параллельно устанавливаем дополнительные анализаторы кода для JavaScript и PHP.
При открытии папки, которую мы создали для размещения проекта, появляется следующий интерфейс:
- Здесь будут храниться файлы проекта.
- Здесь можно работать с Гитом.
- Кнопка создания новых файлов.
- Кнопка создания новых папок.
Теперь перейдем в рабочую вкладку Git.
Появится окно, содержащее:
- Кнопку публикации проекта на ГитХаб.
- Если нажать на кнопку 1, откроется еще одно окно, где необходимо выбрать второй вариант или тот, где есть слова …public repository.
Для создания репозитория на локальном устройстве и публикации кода в другие сервисы следует выбрать кнопку Initialize Repository. Теперь останется только выбрать сервис для публикации вручную.
При выборе «public repository» система предложит выбрать начальные файлы, которые будут составлять первый коммит. Нужно проставить птички возле нужных файлов и выбрать «ОК». После этого система перебросит вас на ГитХаб для подтверждения входа в аккаунт.
На этом шаге нам удалось создать и опубликовать первый набор данных на GitHub.
Разберемся, как внести изменения в код и опубликовать новый вариант репозитория. Для этого нужно зайти во вкладку, где находятся файлы, выбрать и отредактировать один из них. Не забывайте для сохранения изменений нажимать crtl+s для Виндоус или cmd+s для MacOS. После этого переходим на вкладку управления системы Git.
На значке вкладки Гит есть цифра 1, расположенная в синем круге. Она указывает на количество файлов, которые были изменены, но по этим изменениям не записи в коммите. Закоммитим и опубликуем наши изменения:
- Здесь есть кнопка просмотра изменений в файле (ее можно не нажимать).
- Добавим измененный файл для будущего коммита.
- Составим комментарий.
- Формируем коммит.
- Публикуем созданный commit в GitHub.
Теперь мы умеем создавать коммиты и отправлять их в GitHub!
Дополнительные функции GitHub
На GitHub есть широкий набор инструментов для разработчиков. К примеру, здесь есть вебхуки и сервисы.
Webhooks
Вебхуки — метод обращения к другим сервисам, позволяющий пинговать при определенных событиях в репе. К примеру, при вводе команды push, появлении новой ветки, создании или удалении данных.
В случае наступления таких событий ГитХаб осуществляет отправку сообщения с запросом POST на электронный ресурс, который указан для такого случая.
Чаще всего такая возможность применяется, чтобы проверить наличие связи с удаленным ресурсом. С помощью этой функции можно получить последний код из ГитХаб при отправке обновлений с локального устройства.
При отправке команды push к ГитХаб, сервер получая сообщение осуществляет извлечение данных.
Services
Сервисы ГитХаб, как и новые ПО являются сторонними интеграциями, задача которых состоит в предоставлении различных услуг и улучшении работы программистов.
Так, есть возможность установки исполнителя тестов, который в автоматическом режиме будет запускать проверку при создании новых коммитов. Для этой задачи будет полезен TravisCI.
Может быть настроена и постоянная интеграция при помощи CircleCI.
Есть также и возможность для создания интеграции Codeclimate, обеспечивающей анализ кода, формирование отчета «Техническая задолженность» и покрытие тестирования.
Альтернатива GitHub
GitLab также входит в число наиболее популярных онлайн ресурсов для хранения и работы с git-репозиториями. Он базируется на системе баз данных, поэтому установка этого сервиса может вызвать определенные сложности. Но данную проблему нельзя назвать критичной, так как для ее решения можно воспользоваться подробными инструкциями.
Запуск сервиса GitLab состоялся через три года после появления ГитХаба, соответственно и пользователей у него пока меньше. Тем не менее, уже сейчас с ним работают более 100 тыс. проектов, включая всемирно известные корпорации: IBM, Сони, Алибаба, NASA, CERN и др.
Рассмотрим основные возможности, которые можно получить, используя инструменты сервиса GitLab:
- Создавать, хранить и оперировать публичными и частными хранилищами электронных данных.
- Обеспечивать совместный доступ к репозиториям, управлять правами доступа групп и отдельных разработчиков.
- Интегрировать работу над проектами с CI-системами (Jenkins и др.).
- Контролировать изменения, комменты к проектам, создавать вики-страницы, формы идей и задач, создавать интеграции с другими программными продуктами через API и др.
Читайте также!
Что такое IT: виды технологий и сферы их примененияПодробнее - Работать с функциями аутентификации и авторизации. Проводить мониторинг продуктивности и трекинг задач, ошибок и контроля времени. Управлять исходным кодом и консолью для его изменения, репозиториями и контейнерами данных. Обеспечивать постоянную интеграцию (CI. Тестировать качества кода и уязвимость зависимостей, а также сканировать их.
Наибольший интерес программисты проявляют к системе контроля версий Git. С ее помощью можно хранить программный код и различные данные проектов в специальных репозиториях на удаленных серверах и локальных устройствах, что значительно расширяет возможности командной работы над проектами.