Пулл-реквесты из консоли: вышла бета-версия утилиты GitHub CLI

25.02.2020      21533

Одна из главных проблем при работе с GitHub – отсутствие стандартных инструментов, которые бы позволили выполнить пулл-реквест из консоли. Но с официальной утилитой GitHub CLI можно будет забыть о необходимости установки GUI-версий или создании пулл-реквестов через веб-интерфейс.

Что может GitHub CLI

GitHub CLI пока предлагается в бета-версии. Утилита позволяет создавать пулл-реквесты непосредственно из консоли. 

Чтобы создать пулл-реквест, достаточно ввести команду: 

gh pr [status, list, view, checkout, create]

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

Также GitHub CLI позволяет создавать issue - описывать найденные в коде проблемы. Синтаксис аналогичный (варианты использования - в квадратных скобках): 

gh issue [status, list, view, create]

Кроме того, есть команда для вызова справки gh help. Вы также можете использовать ключ --help в конце строки с любой командой. 

 

 

Особенности утилиты

GitHub CLI написана на языке Go. Ранее на Go создали утилиту Hub, но она не получила особого распространения. 

GitHub CLI запускается в Linux, MacOS и Windows. Она гораздо удобнее и стабильнее Hub. Так, если вы не указали в командной строке тему и содержание пулл-реквеста, утилита позволит вам это сделать, предоставив в консоли интерактивное поле для ввода.

 

 

Когда вы отправляете пулл-реквест через утилиту GitHub CLI, форк master-ветки создается автоматически. Но если вы сгенерировали его ранее вручную, этот шаг пропускается. 

Почему пулл-реквесты так важны

Система контроля версий Git логически построена на дереве коммитов. Коммит – это состояние кода в определенный момент разработки. Цепочка коммитов объединяется в ветвь. В древовидной структуре Git ветви отделяются от главной ветки master и друг от друга. 

Обычно в рамках одной ветки разрабатывают определенный функционал. Когда же нужно объединить одну ветку с другой (например, ветвь с новым функционалом и master с гарантированно рабочим кодом), создают пулл-реквест. 

Фактически пулл-реквест - это запрос на добавление изменений из одной ветки в другую. Вся система версий кода в Git базируется на пулл-реквестах. Если автор оригинальной ветки принимает пулл-реквест, то он вносит в свой код изменения из новой ветви. При этом могут возникать конфликты: например, если в старой и новой версиях разные версии определенных строк). Их придется оперативно устранить, чтобы завершить слияние ветвей. 

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

Польза от Microsoft

Когда Microsoft в 2018 году купила GitHub за 7,5 млрд долларов, многие разработчики стали посыпать голову пеплом. Они считали, что политика бесплатного хранения репозиториев изменится, и пользоваться сервисом на прежних условиях будет нельзя. Ожидали и ухудшения качества продукта. 

Но прогнозы пессимистов не оправдались. Инсайдеры утверждали, что перед покупкой у GitHub накопился огромный технический долг. В частности, старые версии сервиса, написанные на Rails, грешили большим количеством «костылей». 

И Microsoft направила значительные силы, чтобы решить проблемы GitHub. А когда технический долг перестал висеть дамокловым мечом, стала активно развивать сервис. И GitHub CLI - ещё один шаг в этом направлении.

Загрузить утилиту можно из репозитория на GitHub. 


Автор:
Обозреватель


См. также

Новость GitHub ИТ и 1С

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

15.11.2023    818    VKuser24342747    1       

2

Новость GitHub Искусственный интеллект

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

17.08.2023    1561    VKuser24342747    0       

1

Новость GitHub ИТ и 1С

GitHub Enterprise Server 3.9 вышел в публичный доступ. Обновление затронуло функции для совместной работы, обеспечения безопасности и управления проектами.

07.07.2023    1306    VKuser24342747    0       

3

Новость GitHub ИТ и 1С

GitHub представил бета-версию action-permissions – инструмента, который позволяет отслеживать права доступа для рабочих процессов Actions. Система подскажет, какие разрешения должны быть для успешного запуска.

06.07.2023    962    VKuser24342747    0       

1

Новость GitHub ИТ и 1С

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

20.04.2023    11963    VKuser24342747    1       

1

Новость GitHub ИТ и 1С

Бесплатный сервис GitHub для проверки безопасности репозиториев позволяет защитить публичные проекты от утечки конфиденциальных данных. Ранее эта услуга была доступна только владельцам лицензии на GitHub Advanced Security, работающие в облаке GitHub Enterprise Cloud.

07.03.2023    17874    VKuser24342747    1       

1

Новость GitHub Безопасность ИТ и 1С

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

22.12.2022    8893    VKuser24342747    1       

1

Новость GitHub Безопасность ИТ и 1С

Веб-хостинг потребует от всех пользователей, загружающих код, включить двухфакторную аутентификацию (2FA) для дополнительной защиты своих аккаунтов.

21.12.2022    8381    VKuser24342747    0       

1
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
Оставьте свое сообщение