Гитхаб что это такое

Github: что это такое и как его использовать

Github – это очень известная платформа для хранения, распространения и управления исходным кодом открытых проектов. Github использует множество разработчиков по всему миру, среди которых есть и крупные компании, такие как Microsoft, RedHat и другие.

Github предоставляет возможности не только по просмотру кода и его распространения, но также историю версий, инструменты совместной разработки, средства для предоставления документации, выпуска релизов и обратной связи. И самое интересное, что вы можете размещать на Gihub как открытые, так и приватные проекты. В этой статье мы рассмотрим как пользоваться Github для размещения своего проекта. Так сказать, github для начинающих.

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

GitHub Issues

GitHub Issues – одна из наиболее популярных в мире систем отслеживания багов.

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

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

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

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

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

Чтобы создать новый аккаунт на сайте откройте главную страницу GitHub и тут же сразу вы можете ввести данные для новой учетной записи. Вам нужно указать имя пользователя, Email и пароль:

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

Когда завершите ввод, нажмите кнопку “Sign Up Free.

Никакая настройка github не нужна, достаточно лишь несколько кликов мышкой.

На следующем шаге вам нужно выбрать тип репозитория. Для open-souce проектов использование сайта бесплатно. При необходимости иметь приватные репозитории, есть возможность перейти на платный тарифный план:

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

Аккаунт готов, и вы будете перенаправлены на страницу, где сможете создать свой первый проект. Но перед тем как вы сможете это сделать, нужно подтвердить свой Email адрес. Для этого откройте ваш почтовый ящик и перейдите по ссылке в письме от Github. Сейчас у нас нет ни одного репозитория, и мы можем либо создать новый репозиторий, либо ответвиться (fork) от уже существующего чужого репозитория и вести собственную ветку разработки. Затем, при желании, свои изменения можно предложить автору исходного репозитория (Pull request).

Создание репозитория в Github

На открывшейся странице, это главная страница для авторизованных пользователей, нажмите кнопку “Start a project”:

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

Дальше введите имя и описание будущего репозитория:

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

Вы можете сразу же инициализировать репозиторий, создав файл Readme, для этого нужно отметить галочку “Initialize this repository with a README” внизу страницы. Также можно выбрать лицензию:

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

Когда все будет готово, выберите “Create project”, будет создан новый проект с файлом README, в котором находится описание и файлом лицензии.

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

Добавление веток

Ветки Github позволяют работать с несколькими версиями проекта одновременно. По умолчанию при создании репозитория создается ветка master, это основная рабочая ветка. Можно создать дополнительные ветки, например, для того, чтобы тестировать программное обеспечение перед тем, как оно будет опубликовано в ветке master. Таким образом, можно одновременно разрабатывать продукт и предоставлять пользователям стабильную версию. Также можно создавать отдельные ветки для версии программы для разных систем.

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

Текущая ветка обозначена в верхнем левом углу после слова “Branch”. Чтобы создать новую ветку просто разверните этот список и начните набирать ее имя:

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

Сайт сам предложит вам создать новую ветку, выберите “Create branch”. Сразу же после создания вы будете работать с только что созданной веткой.

Изменение файлов и коммиты

Любые изменения файлов на Github делаются с помощью коммитов. Коммит выполняется путем внесения самих исправлений и описания этих исправлений. Это необходимо для того, чтобы вы знали что и когда вы меняли, а также позволяет легко отслеживать работу команды. Слово коммит можно перевести как “фиксировать”. То есть мы можем внести изменения в несколько файлов, а затем их зафиксировать. Давайте для примера изменим файл README. Для этого найдите в в правой стороне панели кнопку с кисточкой и нажмите на нее:

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

Откроется текстовый редактор, где вы можете ввести нужные вам исправления:

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

После того как вы сделаете все что вам нужно, необходимо заполнить поле “Commit” внизу страницы. Кратко опишите что было изменено, а затем нажмите кнопку “Commit changes”:

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

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

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

Новый Github Desktop

Github выпустил обновленную версию Github Desktop — программы под Windows 7+ и OS X, которая дублирует функциональность сайта github.com, но при этом работает локально на компьютере разработчика.


Github Desktop упрощает многие действия в рабочем процессе и заменяет Github for Mac и Github for Windows на новый унифицированный интерфейс.

Ветви Github Desktop

Ветви всегда доступны в левом верхнем углу в режиме просмотра репозитория. Можно быстро выбрать нужную ветку или создать новую.

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

Совместная работа

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

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

Прямо из программы отправляются и пул-реквесты.

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

Слияние и развертывание

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

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

Просмотр истории

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

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

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

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

Github командная строка

Консоль — ваш друг. По моему опыту, освоение работы с Github через командную строку — лучшая трата времени, когда работаешь с open source-технологиями. Да, существует много хороших графических интерфейсов, но все они менее гибки в использовании. Кроме того, есть инструменты только под командную строку, которые сильно упрощают жизнь и повышают эффективность разработки:

Управление проектами (Project management)

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

Одна из них – Projects. Это новый раздел, который очень редко используется. Это система «Канбан», которая помогает организовать баги и работу, которую необходимо выполнить.

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

Представив релизы, GitHub расширил функциональность тегов GIT.

Тег GIT — это указатель на конкретную версию. Если он выполняется последовательно, то помогает вам вернуться к предыдущей версии кода без ссылки на конкретные версии.

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

Хотя тег GIT можно создавать программно (например, с помощью тега git из командной строки), создание релизов GitHub – это ручной процесс, который происходит в пользовательском интерфейсе GitHub. Вы, по сути, говорите GitHub создать новый релиз и сообщаете, к какому тегу вы хотите применить его.

Сравнение коммитов на GitHub

GitHub предлагает множество инструментов для работы с кодом.

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

Webhooks и Services на GitHub

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

Webhooks

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

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

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

Мы отправляем команду push к GitHub, он сообщает серверу об этом, и сервер извлекает данные.

Services

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

Источник

GitHub

GitHub — это сервис для совместной разработки и хостинга проектов. C помощью GitHub над кодом проекта может работать неограниченное количество программистов из любых точек мира. В GitHub есть система контроля (управления) версий Git: сервис позволяет просматривать и контролировать любые изменения кода любым разработчиком и возвращаться к состоянию до изменений.

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

Проекты в GitHub

Проект в GitHub хранится в репозитории (repository) — коллекции всех изменений создаваемого кода. Если вы будете работать над проектом в одиночку — вам нужно создать новый репозиторий. Если в вашем проекте несколько разработчиков — каждый из них будет клонировать репозиторий первоначального создателя проекта.

Внутри репозитория изменения кода хранятся в виде веток и коммитов.

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

Коммит (commit) — основной объект разработки, в котором хранятся все изменения кода за итерацию. По сути, это список со всеми актуальными изменениями и ссылка на предыдущую версию коммита. У каждого коммита есть атрибуты: имя, дата создания, автор и комментарии к текущей версии (например, «Создал страницу courses.html» при разработке сайтов с видеокурсами).

Ветка (branch) — указатель на коммит с определенными изменениями. Например, два разработчика взяли коммит, и каждый из них сделал свои изменения в коде, создав по новому коммиту («Создал страницу coursеs.html c личным кабинетом» и «Создал страницу courses.html со свободным доступом на курсы»). Так в проекте появились две ветки с разным кодом: разработчик может выбрать, над каким коммитом ему работать дальше.

Основной веткой проекта, как правило, считается ветка main или master — разработчики создают новые ветки на ее основе. Также можно создать неограниченное количество веток, чтобы вносить новые изменения, не мешая основному проекту.

Слияние веток

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

Для этого в Git используют функцию pull request (pr). Pull request — это заявка на слияние кода из разных веток. В процессе слияния Git создаст коммит и покажет все изменения в файле кода: добавленные до разветвления строки подсветятся зеленым цветом, удаленные — красным. Так каждый из разработчиков и менеджер проекта увидят, что произошло с кодом после совместной работы над коммитом. Перед окончательным слиянием (merge) все разработчики должны просмотреть изменения кода (code review) и принять их.

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

Процесс pull request

Теперь посмотрим на процесс со стороны владельца проекта, который получил новый pull request. Владельцу нужно его обработать и объединить ветку sme-review с master.

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

Пример ревью кода, где есть разрешение на слияние в главную ветку

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

Пример ревью кода, где нет разрешения на слияние

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

Ревью кода

Ревью кода (code review) — процесс обсуждения изменений кода после совместного создания коммита и перед окончательным слиянием. В ревью разработчики оставляют комментарии к строкам с измененным кодом, а в случае ошибок или упущенных моментов предлагают решения по улучшению кода.

После ревью разработчики должны закрыть комментарии и принять предлагаемые изменения (функция approve). Git объединит ветки с помощью функции merge и перенесет созданный коммит в основную ветку main. В истории коммитов останется отметка о проведенном слиянии веток.

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

Как учиться работе в GitHub

GitHub — самый популярный сервис для разработки проектов в команде и хранения портфолио собственных проектов. Научиться работе с Git и GitHub необходимо каждому разработчику. Вот несколько материалов, которые помогут новичкам в разработке освоить GitHub:

Освойте перспективную профессию с нуля за 14 месяцев.

Источник

Как устроен и работает GitHub

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

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

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

Из чего состоит проект в GitHub

Ветка main (или master). Это, как правило, основная ветка, в которой лежит самая актуальная, рабочая версия проекта.

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

Ветки и коммиты (branch & commits). Ветка в GitHub — это история разработки, состоящая из изменённых файлов и сообщений (коммитов). Нарисуем ветку с коммитами, чтобы визуально её представить.

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

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

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

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

Указатель HEAD позволяет гибко откатиться до нужной версии. HEAD на скриншоте ниже выглядит так: a8160621b3c61a07b6bbc75b41e5530ee997124b.

Пример. Мы запушили (от слова push, то есть отправили на сервер) коммит с сообщением «правки по коду» в ветку main, но поняли, что они ломают важную логику и версия теперь нестабильна. При помощи указателя коммита HEAD мы можем откатиться до предыдущего коммита («добавили слайдер») и вернуть стабильную версию, которая была в коммите «сделали index.html».

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

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

Пример. Разработчик Ваня берёт задачку по вёрстке index.html в ветке index. А разработчица Лена — catalog.html, в ветке catalog. На картинке ниже вы увидите, как это будет выглядеть на нашем визуальном отображении веток. Последний коммит в каждой ветке будет «добавили сборку».

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

Ваня быстрее Лены заканчивает свою задачку, делает коммит «сделал index.html» в свою ветку:

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

После того как он сольёт свою ветку в main, в ней появится его последний коммит «сделал index.html»:

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

Лена может забрать актуальную версию main (pull) в свою ветку. Тогда история её коммитов будет выглядеть так: «добавили сборку, сделал index.html».

Слияние веток

Ветки позволяют просматривать изменения. А чтобы сделать их слияние, понадобится функция pull request (pr).

Пример. Создаём ветку branch-1 в нашем репозитории и делаем в неё пуш коммита «Добавили данные»:

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

После этого мы можем сделать pull request в любую ветку, то есть заявку на слияние веток. GitHub сам подсветит изменённые строки, что очень удобно для ревью кода. Красным подсвечиваются удалённые строки, зелёным — добавленные.

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

Ревью кода

Когда над проектом ведут работу несколько разработчиков, очень важно, чтобы каждый понимал, что происходит в проекте, уточнял спорные моменты и предлагал более оптимальные решения. Этот процесс называется code review (ревью кода).
Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

После того как ревью проведено, все спорные моменты решены, ошибки поправлены и есть подтверждения от других разработчиков (approve), происходит слияние веток (merge). Все коммиты из ветки branch-1 попадают в main, а в истории коммитов появляется отметка о слиянии.

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

Это вводная статья по GitHub, которая поверхностно описывает основные процессы. О создании веток и управлении ими мы обязательно расскажем в следующих материалах.

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое
GitHub — это хостинг: он позволяет хранить проекты удалённо на сервере и работать с ними из любой точки мира. Доступ к файлам есть у всех, у кого есть ссылка.

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

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

Из чего состоит проект в GitHub

Ветка main (или master). Это, как правило, основная ветка, в которой лежит самая актуальная, рабочая версия проекта.

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

Ветки и коммиты (branch & commits). Ветка в GitHub — это история разработки, состоящая из изменённых файлов и сообщений (коммитов). Нарисуем ветку с коммитами, чтобы визуально её представить.

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

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

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

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

Указатель HEAD позволяет гибко откатиться до нужной версии. HEAD на скриншоте ниже выглядит так: a8160621b3c61a07b6bbc75b41e5530ee997124b.

Пример. Мы запушили (от слова push, то есть отправили на сервер) коммит с сообщением «правки по коду» в ветку main, но поняли, что они ломают важную логику и версия теперь нестабильна. При помощи указателя коммита HEAD мы можем откатиться до предыдущего коммита («добавили слайдер») и вернуть стабильную версию, которая была в коммите «сделали index.html».

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

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

Пример. Разработчик Ваня берёт задачку по вёрстке index.html в ветке index. А разработчица Лена — catalog.html, в ветке catalog. На картинке ниже вы увидите, как это будет выглядеть на нашем визуальном отображении веток. Последний коммит в каждой ветке будет «добавили сборку».

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

Ваня быстрее Лены заканчивает свою задачку, делает коммит «сделал index.html» в свою ветку:

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

После того как он сольёт свою ветку в main, в ней появится его последний коммит «сделал index.html»:

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

Лена может забрать актуальную версию main (pull) в свою ветку. Тогда история её коммитов будет выглядеть так: «добавили сборку, сделал index.html».

Слияние веток

Ветки позволяют просматривать изменения. А чтобы сделать их слияние, понадобится функция pull request (pr).

Пример. Создаём ветку branch-1 в нашем репозитории и делаем в неё пуш коммита «Добавили данные»:

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

После этого мы можем сделать pull request в любую ветку, то есть заявку на слияние веток. GitHub сам подсветит изменённые строки, что очень удобно для ревью кода. Красным подсвечиваются удалённые строки, зелёным — добавленные.

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

Ревью кода

Когда над проектом ведут работу несколько разработчиков, очень важно, чтобы каждый понимал, что происходит в проекте, уточнял спорные моменты и предлагал более оптимальные решения. Этот процесс называется code review (ревью кода).
Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

После того как ревью проведено, все спорные моменты решены, ошибки поправлены и есть подтверждения от других разработчиков (approve), происходит слияние веток (merge). Все коммиты из ветки branch-1 попадают в main, а в истории коммитов появляется отметка о слиянии.

Гитхаб что это такое. Смотреть фото Гитхаб что это такое. Смотреть картинку Гитхаб что это такое. Картинка про Гитхаб что это такое. Фото Гитхаб что это такое

Это вводная статья по GitHub, которая поверхностно описывает основные процессы. О создании веток и управлении ими мы обязательно расскажем в следующих материалах.

Источник

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *