GitHub — это платформа хостинга кода для контроля версий и совместной работы. Она разработана на основе Git, системы отслеживания изменений в программном коде. Она позволяет вам и другим людям работать вместе над проектами из любого места. В этой статье мы рассмотрим ключевые понятия рабочего процесса разработки на GitHub для тех, кто работает в сфере технологий, включая работу с репозиториями, ветками, форками, коммитами, pull requests и слиянием. Давайте начнем!
Что такое контроль версий?
Контроль версий — это система, которая помогает разработчикам отслеживать и управлять изменениями в коде программных проектов. По мере роста проектов необходимость контроля версий становится жизненно важной — особенно в совместных проектах. Мы можем работать безопасно, используя так называемые разветвление и слияние.
Разветвление позволяет нам дублировать исходный код (он же «хранилище»), чтобы мы могли безопасно вносить изменения, не затрагивая весь проект. После того, как изменения рассмотрены и одобрены, мы сливаем нашу ветвь с основной, чтобы обновить наш официальный код. Если будут обнаружены ошибки, у нас есть возможность вернуться к исходному коду, поскольку наши изменения были отслежены.
Что такое Git?
Git и Github — это не синонимы! Git — это специальная система контроля версий с открытым исходным кодом, созданная Линусом Торвальдсом в 2005 году. Это программа, которая фактически отслеживает ваши изменения и обеспечивает доступность всей базы кода на компьютере каждого разработчика. GitHub же просто размещает ваши репозитории (а также предоставляет некоторые дополнительные функции).
Основы
Давайте начнем! Если вы еще не зарегистрировали аккаунт на GitHub, зарегистрируйтесь здесь, а также можете посмотреть мой личный GitHub здесь (не забудьте оставить несколько звезд на некоторых крутых репозиториях).
Создание репозитория
Репозиторий GitHub (или «repo») можно представить как корневую папку вашего проекта. Он содержит все файлы вашего проекта и дает вам возможность получить доступ к истории ревизий каждого файла. Если вы работаете в команде, вы можете предоставить другим людям доступ к вашему репозиторию для совместной работы над проектом.
Давайте создадим наш первый репозиторий! Убедитесь, что вы вошли в GitHub:
- В правом верхнем углу нажмите на значок «Настройки +» & затем «Новый репозиторий».
- Дайте своему хранилищу имя
- Добавьте описание, если хотите
- Выберите вариант создания публичного или частного хранилища (подойдет любой из них).
- Выберите Initialize this repository with a README (например, «My first repo!»).
- Нажмите Создать репозиторий!
- Добавьте файлы в ваше хранилище ~
~ Мы только тестируем, поэтому не имеет значения, что вы добавите. Найдите, например, HTML-файл и добавьте его в репозиторий с помощью кнопки Upload files.
Создание задания
Проблемы — это способ отслеживания задач, улучшений и ошибок в наших проектах. Они предназначены для обмена информацией между членами вашей команды, чтобы облегчить обсуждение для обзора, а также для управления делегированием задач. Если вы откроете проблему в проекте, которым управляет кто-то другой, она будет оставаться открытой до тех пор, пока вы не закроете ее (например, если вы решите проблему) или пока владелец репозитория не закроет ее. Когда вы создаете проблему, обязательно дайте четкое объяснение поставленной задачи. Давайте создадим проблему в нашем репозитории:
- В своем репозитории выберите вкладку Issues (Проблемы).
- Нажмите кнопку Новый выпуск
- Дайте вашей проблеме название «Настройка страниц GitHub».
- Дайте четкое описание, например, «Нужно установить страницы GitHub в этом хранилище».
- Нажмите кнопку Отправить новое задание
Назначение задания
Нам нужно назначать задания, чтобы члены нашей команды знали, кто должен выполнять задание!
- В правой части экрана, в разделе «Назначенные», нажмите на значок настроек и выберите себя.
Давайте решим наш первый вопрос! Мы хотим настроить страницы GitHub. Вы можете прочитать о страницах GitHub здесь. Но пока что наше внимание сосредоточено на решении этой задачи:
- Перейдите на вкладку «Настройки» в вашем репозитории.
- Прокрутите вниз до раздела «Страницы GitHub».
- В раскрывающемся списке «Источник» выберите ветку master
- Нажмите Сохранить
Закрытие проблемы
Теперь вы выполнили задание — можете идти и закрыть его! Вы можете удалить задание на GitHub, однако его закрытие сообщает членам вашей команды, что задание выполнено. Чтобы закрыть:
- Откройте завершенную задачу и нажмите Закрыть задачу
Поток GitHub
Теперь, когда мы знаем, как работать с заданиями, пришло время рассмотреть поток GitHub Flow. Проще говоря, это рабочий процесс, в котором мы можем безопасно экспериментировать с новыми идеями без риска поставить под угрозу наш проект. Это достигается в основном за счет использования ветвления.
По умолчанию наш проект живет в ветке master — любые изменения в master будут обновляться непосредственно в нашем проекте (это может быть опасно, если вы не проанализировали свои изменения должным образом!)
Когда мы хотим поэкспериментировать с новой функцией или даже исправить проблему, мы создаем новую ветвь проекта. Изначально ветка будет дубликатом вашего мастера, теперь, когда вы будете вносить изменения, они будут отражаться только в ветке.
В процессе работы над изменениями вы будете фиксировать изменения в своей ветке. Когда вы убедитесь, что изменения завершены, самое время открыть запрос на исправление. После этого ваша команда обсудит и доработает изменения в проекте. Как только изменения будут одобрены, ветвь будет объединена с основной ветвью. Давайте рассмотрим этот процесс на примере!
Создание ответвления
- Откройте ваш репозиторий и перейдите на вкладку Code
- Выберите
Ветвь: master
в раскрывающемся списке - В поле введите имя ветви (например, ‘development’).
- Нажмите Создать ответвление
Теперь, когда вы создали ответвление, вы можете изменять свой проект без изменения развернутого ответвления master
.
Замечание о форках — форк отличается от ответвления тем, что позволяет вам клонировать другой репозиторий в вашей собственной учетной записи. По сути, это позволяет вам начать новый проект на основе предыдущего.
Коммит файла
Теперь мы можем безопасно работать внутри нашей ветки, давайте создадим файл и сделаем наш первый коммит.
- Внесите правку (любую! просто добавьте простой комментарий к вашему коду) в один из файлов, которые вы ранее добавили в репозиторий.
- Дайте коммиту имя и описание
- Убедитесь, что выбрана только что созданная ветвь (ветвь разработки)
- Нажмите кнопку Зафиксировать изменения
Вы сделали свой первый коммит! Следующий шаг — поделиться изменениями со своей командой с помощью запроса на исправление.
Открытие запроса на исправление
Запрос на вытягивание — это место, где мы делимся предлагаемыми изменениями проекта с нашей командой — с целью обсуждения и пересмотра изменений перед применением изменений в ветке master
.
- Откройте вкладку Pull requests и нажмите New pull request
- В раскрывающемся меню base: убедитесь, что выбрана основная ветвь.
- В раскрывающемся меню compare: выберите ветвь разработки, созданную ранее.
- Нажмите Создать запрос на исправление
- Теперь введите название вашего запроса на исправление, например, «Добавить мои изменения».
- Добавьте точное описание внесенных вами изменений
- Нажмите кнопку Создать запрос!
Теперь члены вашей команды имеют возможность обсудить и просмотреть предложенные вами изменения. Как только все будут довольны и изменения будут одобрены, настанет время для слияния с master
.
Примечание: Если вы форкнули репозиторий и внесли изменения, вы можете создать запрос на слияние изменений и оттуда.
Слияние запроса на исправление
- Внутри вашего запроса на исправление нажмите Объединить запрос на исправление
- Нажмите Подтвердить слияние
- После того как ваша ветка будет объединена, она вам больше не понадобится. Вы можете нажать Удалить ветку!
Резюме
Вот и все! Вы научились совместной работе над проектами с помощью GitHub. GitHub — это удивительный инструмент, которым стоит воспользоваться! Теперь вы можете создавать репозитории и проблемы, создавать ветви, форкать проекты и делать коммиты, отправлять запросы на рассмотрение и объединяться с основной ветвью.
Заключение
Если вам понравилась эта статья, следуйте за мной в Twitter, где я ежедневно пишу о вещах, связанных с техникой! Если вам понравилась эта статья и вы хотели бы оставить совет — нажмите здесь
🌎 Let’s Connect
-
Портфолио
-
Twitter
-
LinkedIn
-
Hashnode
-
Devto
-
Medium
-
Github
-
Codepen