DEV Community

Cover image for GitHub CLI: PRs, Issues e outros conceitos do GitHub direto no terminal
Gustavo Araújo
Gustavo Araújo

Posted on • Originally published at gustavoaraujo.dev

2 2

GitHub CLI: PRs, Issues e outros conceitos do GitHub direto no terminal

O que é?

GitHub CLI (Command Line Interface), como o próprio nome sugere, é o GitHub via linha de comando. Com essa ferramenta é possível trazer pull requests, issues e outros conceitos do GitHub para dentro do terminal.

Como sugere o repositório oficial, a CLI do GitHub está disponível para repositórios hospedados em GitHub.com e GitHub Enterprise Server 2.20+, e pode ser instalado em MacOS, Windows e Linux.

Vale a penar usar?

É uma pergunta bastante relativa, que pode ser respondida levantando dois pontos:

  • Você é um amante do Terminal?
  • Você já usa o git via CLI?

Se a resposta para ambos for sim, talvez vale a pena dar uma olhada mais a fundo.

Com a ferramenta, você consegue abrir um Pull Request pelo mesmo terminal que faz seus commits, o que nos poupa bastante tempo, simples e rápido.

Como instalar

Como não é bem o foco aqui, vou deixar a recomendação de consultar a própria documentação.

Após instalar, execute o seguinte comando para testar o funcionamento e já verificar todos os comandos:

$ gh --help
Enter fullscreen mode Exit fullscreen mode
  • Lembrando que, gh é o próprio binário, não se trata de um alias 🙂.

Passos iniciais

O primeiro passo após instalar é autenticar com sua conta do GitHub, para isso basta executar o comando:

$ gh auth login
Enter fullscreen mode Exit fullscreen mode

Existem duas formas de login:

  • Via token, que pode ser gerado no GitHub
  • Login no navegador

Por questões de praticidade, recomendo a segunda opção. Após autenticado, você pode verificar o status com o comando:

$ gh auth status
Enter fullscreen mode Exit fullscreen mode

Feito isso, caso queira você já pode configurar o seu editor de texto favorito para editar as mensagens de Pull Requests:

$ gh config set editor <editor>
Enter fullscreen mode Exit fullscreen mode

Lembrando que, caso não seja atribuído nenhum editor utilizando o comando acima, o gh assumirá o padrão definido na variável de ambiente $EDITOR (No MacOS e no Linux o editor padrão é o Nano, no Windows Notepad).

Mais detalhes sobre o comando gh config podem ser encontrados na documentação oficial.

Hands-on - O que é possível fazer?

Abaixo temos algumas das coisas interessantes que essa ferramenta nos permite fazer.

Pull Requests

  • Abrir um Pull Request:

    $ gh pr create
    

    GIF exemplificando o uso do comando

    Algum dos parâmetros interessantes que temos aqui:

    • Com o parâmetro -B podemos especificar o base branch, isto é, para qual branch essas alterações serão enviadas após o merge:
    $ gh pr create -B main
    
    $ gh pr create -d
    
  • Fechar/reabrir um Pull Request:

    $ gh pr close/reopen
    
  • Mergear um Pull Request:

    $ gh pr merge
    
  • Listar Pull Requests:

    $ gh pr list
    
  • Ver o diff de um Pull Request:

    $ gh pr diff
    
  • Revisar um Pull Request:

    $ gh pr review
    
  • Verificar os status checks de um Pull Request aberto, como o CI:

    $ gh pr checks
    
  • Verificar seu status de Pull Requests:

    $ gh pr status
    

    GIF exemplificando o uso do comando

Issues

  • Criar uma Issue:

    $ gh issue create
    

    GIF exemplificando o uso do comando

  • Fechar/reabrir uma Issue:

    $ gh issue close/reopen
    
  • Listar Issues:

    $ gh issue list
    
  • Ver uma Issue:

    $ gh issue view
    
  • Verificar seu status de Issues:

    $ gh issue status
    

    GIF exemplificando o uso do comando

Considerações finais

Com certeza é uma ferramenta sensacional, que, se bem usada nos poupa bastante tempo. E você, o que achou? Já usa a ferramenta? Me conta nos comentários 🙂.

Caso tenham dúvidas, sintam-se a vontade para me contatar via Twitter 😉

Speedy emails, satisfied customers

Postmark Image

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

Top comments (0)

Heroku

Simplify your DevOps and maximize your time.

Since 2007, Heroku has been the go-to platform for developers as it monitors uptime, performance, and infrastructure concerns, allowing you to focus on writing code.

Learn More

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay