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

25.02.2020     

Одна из главных проблем при работе с 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. 


Автор:
Ксения Шестакова Обозреватель


Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
В этой теме еще нет сообщений.
Оставьте свое сообщение

См. также

Microsoft создаст единую платформу для разработки под Windows

Новость Новости компаний

Компания представила единую платформу для разработки под Windows, функционал для ответственного использования машинного обучения и другие инструменты для разработчиков. 

вчера в 17:47    253    VKuser24342747    0       

Разработчик Node.js запустил новую JavaScript-платформу Deno 1.0

Новость Языки программирования

Создатель платформы для JavaScript-разработки Node.js Райан Даль выпустил первый официальный релиз нового проекта – Deno 1.0.

вчера в 11:42    292    user1015646    0       

Facebook создал тестовый клон своей сети и населил его умными ботами

Новость Соцсети

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

14.05.2020    727    user1015646    0       

GitHub представил сервис для облачной разработки Codespaces

Новость GitHub

Крупнейший сервис хранения репозиториев кода GitHub выпустил масштабное обновление – компания представила встроенную IDE с инструментами для облачной разработки Codespaces, форумы для обсуждения кода, средства защиты репозиториев и другие новшества

12.05.2020    1306    user1015646    1       

Состоялся релиз Linux-дистрибутива Ubuntu 20.04 LTS

Новость Linux Ubuntu

23 апреля, Canonical объявили о доступности дистрибутива Ubuntu 20.04 LTS, под кодовым названием Focal Fossa. Этот выпуск с долгосрочной поддержкой включает в себя новую тему для рабочего стола и темный режим. Под капотом вы найдете обновленное ядро Linux 5.4 и новый способ установки приложений.

08.05.2020    1331    SKravchenko    0       

Новые возможности видеомессенджера Google Duo

Новость Google Мессенджеры

Мессенджер Google Duo повысил качество видеозвонков благодаря новой технологии видеокодеков. Кроме этого разработчики добавили 4 новые функции, которые должны сделать его использование более комфортным.

07.05.2020    1007    SKravchenko    1       

Проверка на прочность: разработчиков заставили доказать надежность ОС «Аврора»

Новость ОС Безопасность Госзакупки Импортозамещение Мобильные приложения

Российская мобильная ОС «Аврора» должна была стать основной системой для смартфонов и планшетов, которые планировали закупать для чиновников и госкомпаний. Но чтобы госзакупки состоялись, правительство потребовало у разработчиков подтвердить надежность продукта.

07.05.2020    1538    user1015646    2       

Apple и Google объединились в борьбе с коронавирусом

Новость Mac OS Google

Apple и Google объединились для борьбы против COVID-19. В блогах компаний появился анонс разработки на основе Bluetooth, помогающей правительствам всего мира сдерживать распространение заражения

28.04.2020    1315    feva    3       

IBM возродит язык программирования COBOL

Новость Языки программирования

Компания IBM решила, что «древний» язык рано списывать со счетов, и намерена возродить его. 

28.04.2020    1875    user1015646    3       

Бесплатная конференция по управлению данными и искусственному интеллекту

Новость

24 апреля состоится бесплатная онлайн-конференция от сообщества лидеров цифровой трансформации Global CIO – «Управление данными и искусственный интеллект». 

22.04.2020    1314    kbazzh    0       

Git – 15 лет: как появилась и чего достигла самая популярная система контроля версий

Новость git

7 апреля система контроля версий Git отметила 15-летие. Решение, разработанное легендарным Линусом Торвальдсом, используют миллионы разработчиков по всему миру. Рассказываем, как создавалась система и почему она так популярна.

22.04.2020    1912    user1015646    0       

Нейросеть Microsoft будет помогать программистам допускать меньше багов

Новость ИТ-компания Искусственный интеллект Маркет Языки программирования

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

21.04.2020    1797    VKuser24342747    5       

Эксперты спрогнозировали рост рынка дата-центров из-за коронавируса

Новость Аналитика

Исследователи из iKS-Consulting пришли к выводу, что при позитивном сценарии развития пандемии российский рынок ЦОДов сохранит темп роста в 15%. При негативном произойдет замедление развития. 

20.04.2020    1299    VKuser24342747    0       

CorelDRAW Graphics Suite 2020: ИИ, быстродействие и возможность совместной работы

Новость Infostart Software Partners Искусственный интеллект Маркет

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

16.04.2020    1978    iivanov1    13       

Российские медучреждения в прошлом году приобрели более 40 тыс. копий отечественных ОС

Новость Импортозамещение Медицина

Разработчики Astra Linux рассказали о популярности своей ОС в медицинских учреждениях. За прошлый год компания продала организациям здравоохранения более 24 тыс. лицензий. Еще 20 тыс. поставила «Базальт СПО».

15.04.2020    1396    VKuser24342747    0       

Нейросеть научили расшифровывать названия товаров в чеках

Новость

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

08.04.2020    1863    user1015646    2       

Видеозвонки для всех: Mail.ru провела ребрендинг старейшего мессенджера ICQ

Новость Mail.Ru Мессенджеры

Mailr.ru Group перезапустила мессенджер ICQ. Теперь он ориентирован на групповые видеозвонки, поддерживает возможность создания быстрых ответов и разработки ботов. 

08.04.2020    2174    VKuser24342747    6       

В Liberica JDK 14 улучшилась совместимость с российскими операционными системами

Новость Языки программирования

Российская компания Bellsoft представила Liberica Java Development Kit 14. Новая версия инструментов для Java-разработчиков обеспечивает улучшенную производительность и совместимость с отечественными ОС.

02.04.2020    1679    VKuser24342747    0       

Microsoft прекратит развитие Visual Basic в качестве языка программирования

Новость Языки программирования

Разработчикам VB корпорация предложила перенести свои наработки на платформы .NET Core или .NET 5.0, где сохранится поддержка языка.

31.03.2020    2391    AnastasiaKl    11       

Программирование без кода: обзор инструментов

Новость Языки программирования

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

26.03.2020    3345    SKravchenko    7       

В России создадут систему для выявления «контактеров» с коронавирусом

Новость Минкомсвязь Мобильные приложения

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

26.03.2020    1947    Senator_I    17       

Российские студенты-программисты провели лекцию в Minecraft с трансляцией в Twitch

Новость Образование

Студенты помогли преподавателю добавить в лекции интерактива: занятие по программированию провели в онлайн-игре Minecraft с трансляцией на канале в Twich и общением в мессенджере Discord.

25.03.2020    2626    user1015646    3       

Apple проведет конференцию для разработчиков WWDC2020 в онлайн-формате

Новость iOS

WWDC – главная конференция для разработчиков ПО для macOS, iOS, iPadOS и watchOS. В этом году Apple решила отказаться от традиционного «живого» мероприятия в театре Стива Джобса и провести его онлайн.

23.03.2020    1724    user1015646    0       

«Яндекс» открыл доступ к исходному коду фреймворка Testsuite 

Новость GitHub Яндекс

Компания «Яндекс» разработала фреймворк Testsuite специально для тестирования сервиса «Яндекс.Такси». Теперь доступ к продукту открыли для всех желающих – исходный код Testsuite выложили на GitHub под лицензией MIT.

18.03.2020    2193    user1015646    0       

Проект «Доступный интернет» сделает услуги связи для россиян дороже

Новость Интернет Минкомсвязь Цифровая экономика

Программа «Доступный интернет» предполагает предоставление бесплатного доступа к сайтам властей. Но отказ Минкомсвязи компенсировать расходы провайдерам может привести к росту цен на услуги связи. 

18.03.2020    2174    VKuser24342747    12