Skip to content
Latchkey

gh CLI vs hub: GitHub pela Linha de Comando

Escolha o gh, a CLI oficial e ativamente mantida do GitHub, para quase tudo hoje; o hub (que envolve o git para adicionar recursos do GitHub) é efetivamente legado e não é mais a escolha recomendada para trabalhos novos.

O gh (GitHub CLI) e o hub trazem o GitHub para o terminal, mas o cenário mudou. O hub veio primeiro e funciona envolvendo o git, estendendo comandos para que coisas como git pull-request funcionem. O gh é a CLI oficial e independente do GitHub, com ampla cobertura (PRs, issues, releases, Actions, gists, API) e desenvolvimento ativo. Para projetos novos e CI, o gh é a ferramenta mantida e recomendada; o hub está em grande parte em modo de manutenção.

gh CLIhub
MantenedorOficial (GitHub)Comunidade (legado)
ModeloComando gh independenteEnvolve/estende o git
EscopoPRs, issues, releases, Actions, APIPRs, fork e extensões do git
ManutençãoAtivaMínima / legada
Autenticaçãogh auth login / tokenBaseada em token
Recomendado paraTrabalhos novos e CIScripts legados existentes

Por que o gh é o padrão agora

O gh cobre muito mais do GitHub do que o hub: abrir e revisar PRs, gerenciar issues e releases, ver execuções do Actions, chamar a API com gh api e criar scripts com saída JSON. Sendo a CLI oficial, ele acompanha os novos recursos do GitHub. A abordagem de wrapping do git do hub era engenhosa, mas mais restrita, e ele não é mais ativamente desenvolvido, então fica para trás em funcionalidades mais novas.

No CI

O gh vem pré-instalado nos runners hospedados pelo GitHub e se autentica automaticamente a partir do GITHUB_TOKEN, o que o torna ideal para scripts de workflow: comentar em PRs, criar releases, disparar workflows ou consultar a API sem configuração extra. O hub pode rodar em CI, mas precisa de instalação manual e configuração de token, e oferece menos. Para automatizar o GitHub a partir de um pipeline, o gh é a escolha clara.

Nota sobre migração

Se você tem scripts usando o hub, a maioria das ações tem um equivalente direto no gh (por exemplo, o pull-request do hub mapeia para gh pr create). Como o gh não envolve o git, você o chama explicitamente em vez de por meio de subcomandos do git, o que costuma ser mais claro. Há pouca razão para começar uma nova automação com o hub hoje.

O veredito

Use o gh, a CLI oficial do GitHub, para trabalhos novos e especialmente em CI, onde ele vem pré-instalado e autenticado automaticamente. Mantenha o hub apenas para dar suporte a scripts legados existentes, e migre-os para o gh quando for conveniente.

Guias relacionados