company_banner

Вышла бета консольной утилиты GitHub CLI



    Разработчики GitHub выпустили бета-версию консольной утилиты GitHub CLI. Она позволяет создавать пул-реквесты и тикеты на GitHub, не выходя из консоли, где вы уже работаете с git.

    Пул-реквесты и issue — самые распространённые команды, поэтому их добавили в первую очередь.

    Как и прошлая программа Hub, эта полностью написана на Go. Она тоже запускается в разных ОС, включая Linux, MacOS и Windows, причём гораздо удобнее в использовании.

    • gh pr [status, list, view, checkout, create]
    • gh issue [status, list, view, create]
    • gh help

    Для получения справки по любой команде/подкоманде добавьте в конце строки --help. Например:

    $ gh issue create --help
    Create a new issue
    
    Usage:
      gh issue create [flags]
    
    Flags:
      -b, --body string    Supply a body. Will prompt for one otherwise.
      -t, --title string   Supply a title. Will prompt for one otherwise.
      -w, --web            Open the browser to create an issue
    
    Global Flags:
          --help              Show help for command
      -R, --repo OWNER/REPO   Select another repository using the OWNER/REPO format

    Глобальные флаги:

          --help              Show help for command
      -R, --repo OWNER/REPO   Select another repository using the OWNER/REPO format
          --version           Show gh version

    Примеры команд


    Отображение списка тикетов с пометкой "help wanted"


    ~/Projects/my-project$ gh issue list --label "help wanted"

    Создание пул-реквеста


    ~/Projects/my-project$ gh pr create

    Здесь же под флагом -B указываем ветку, если это не мастер.

    Flags:
      -B, --base string    The branch into which you want your code merged
      -b, --body string    Supply a body. Will prompt for one otherwise.
      -d, --draft          Mark pull request as a draft
      -t, --title string   Supply a title. Will prompt for one otherwise.
      -w, --web            Open the web browser to create a pull request

    Если не ввести тему и содержание пул-реквеста в командной строке, то появится интерактивное поле для ввода прямо в консоли.



    При отправке пул-реквеста GitHub CLI автоматически создаёт форк мастера, если он не был создан ранее.

    Проверка изменений/статуса


    ~/Projects/my-project$ gh pr status
    Current branch
      #12 Remove the test feature [Rexogamer:patch-2]
       - All checks failing - review required
    
    Created by you
      You have no open pull requests
    
    Requesting a code review from you
      #13 Fix tests [branch]
      - 3/4 checks failing - review required
      #15 New feature [branch]
       - Checks passing - approved

    Отмена изменений (check out)


    ~/Projects/my-project$ gh pr checkout 12
    remote: Enumerating objects: 66, done.
    remote: Counting objects: 100% (66/66), done.
    remote: Total 83 (delta 66), reused 66 (delta 66), pack-reused 17
    Unpacking objects: 100% (83/83), done.
    From https://github.com/owner/repo
     * [new ref]             refs/pull/8896/head -> patch-2
    M       README.md
    Switched to branch 'patch-2'

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

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

    Комментарии 6

      +2
      Хочется дополнить: предыдущая утилита Hub теперь, по-видимому, будет заброшена, и если вас интересует «зачем вообще затеяли новую утилиту вместо развития старой», ответ есть в блоге Мислава, возглавляющего работу над обеими.
        0

        Лучше бы зарелизили уже приложение для мобильных платформ.

          0

          А какой функционал вам нужен на мобильных платформах?

        0
        извиняюсь за офтоп, а что за тема для терминала на последнем скриншоте?
          +2
          Очень, очень похоже на Azure CLI с плагином для Azure DevOps. Там тоже есть `az repos pr create` для создания PR и всё такое. Очень удобно в повседневном использовании. Определённо, приобретение Майкрософтом на пользу ГитХабу пошло.

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

          Самое читаемое