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
- 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
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
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>
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
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
- Com o parâmetro
-d
podemos especificar que se trata de um Draft Pull Request:
$ gh pr create -d
- Com o parâmetro
-
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
Issues
-
Criar uma Issue:
$ gh issue create
-
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
Considerações finais
Com certeza é uma ferramenta sensacional, que, se bem usada nos poupa bastante tempo.
Caso tenham dúvidas, sintam-se a vontade para me contatar via Twitter 😉