DEV Community

loading...
Microsoft Azure

GitHub CLI - Uma Nova Experiência no GitHub!

glaucia86 profile image Glaucia Lemos Updated on ・7 min read

p.s.: esse post também está na versão de vídeo. Se desejam ver o vídeo, com a demo em ação, bastam clicar na imagem abaixo!

YouTube:

Fala Coders! Tudo certo? E hoje vamos falar um pouco a respeito de uma grande novidade que o time do GitHub está lançando: GitHub CLI!

Vamos entender um pouco o que seria o GitHub CLI e como podemos experimentar essa grande novidade! Vamos nessa?

O que é o GitHub CLI?

Ontem (12/02) na sua conta do twitter, o criador do GitHub, Nat Friedman, fez um grande anúncio no twitter ao dizer que já está disponível, na versão beta, o GitHub CLI. Mas, o que seria o GitHub CLI?
Como o próprio site nos diz, seria para ajudar e facilitar a vida da pessoa desenvolvedora para enviar Pull Requests e Issues para o GitHub. Mas, como assim? Os desenvolvedores podem trazer a experiência do GitHub diretamente para o terminal.

Essa versão beta está disponível nos Sistemas Operativos: macOS, Windows e Linux

Eu particularmente quando eu li essa notícia, eu amei! Sempre amei usar os comandos do Git no terminal e agora poder usar comandos do GitHub via CLI, não poderia ser melhor para mim! 😍

Outro ponto importante a ser falado aqui, o projeto é totalmente Open Source. Então, se vocês desejam experimentar, testar localmente na máqina de vocês e reportar qualquer melhoria através de uma ISSUE ou Pull Request no repositório do projeto, fiquem à vontade em fazer a sua contribuição: AQUI.

E a linguagem usada nesse projeto... Golang! Sim! Como dito no meu último artigo: Top 5 Linguagens de Programação para Aprender em 2020!, Golang está entre as top 5 principais linguagens de programação para o ano de 2020. E muitas grandes empresas tem usado essa linguagem para criar novos projetos, entre open source e privados. Se desejam aprender um pouco mais sobre Golang, deixo aqui a minha recomendação de alguns recursos para quem deseja aprender um pouco mais sobre o Golang:

Bom, agora já deu para entender melhor o que é o GitHub CLI e como podemos ajudar nesse projeto Open Source. Agora, vamos experimentar esse novo recurso do GitHub!

Instalando o GitHub CLI

Para testar esse novo recurso, sugiro que leiam a documentação do GitHub CLI, para que assim possam entender melhor como usar o GitHub CLI. E sem contar que, nessa documentação, contém todos os comandos necessários que vocês podem usar.

O comando principal é o gh. Através dele podemos usar os demais comandos, tais como:

  • gh pr [status, list, view, checkou, create]
  • gh issues [status, list, view, create]
  • gh help

Mas, para testar todos esses comandos, precisamos instalar na nossa máquina. Aqui vou explicar as 3 formas que podemos realizar a instalação em diferentes distros:

Windows

No windows há 2 formas de realizarmos a instalação, via linha de comando usando o scoop ou instalando via programa .exe do Windows. Vamos lá:

  • Via instalação: Download for Windows
  • Via linha de commando (scoop): lembrando que via scoop, você deve instalar primeiro via PowerShell. Vamos ao passo a passo:
  1. Abre o PowerShell e digite o seguinte comando para instalar o scoop:
> Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh')
Enter fullscreen mode Exit fullscreen mode
  1. Agora sim, que temos o scoop instalado, podemos agora usar o comando para instalar o GitHub CLI. Para isso, abram o prompt de comando e digitam o seguinte comando:
> scoop bucket add github-gh https://github.com/cli/scoop-gh.git
> scoop install gh
Enter fullscreen mode Exit fullscreen mode

Screen-Shot-02-14-20-at-05-13-PM.png

  1. E por último, para ter certeza que você está usando a versão atualizada, digite o seguinte comando:
> scoop update gh
Enter fullscreen mode Exit fullscreen mode

Se digitar o comando gh help e aparecer os comandos é porque está devidamente instalado no Windows!

Linux

  • Debian/Ubuntu Linux:
>  sudo apt install git && sudo dpkg -i gh_*_linux_amd64.deb
Enter fullscreen mode Exit fullscreen mode
  • Fedora/Centos Linux
> sudo yum localinstall gh_*_linux_amd64.rpm
Enter fullscreen mode Exit fullscreen mode
  • Arch Linux
> yay -S github-cli
Enter fullscreen mode Exit fullscreen mode

macOS

> brew install github/gh/gh
> brew update && brew upgrade gh
Enter fullscreen mode Exit fullscreen mode

Vamos a Demo!!!

Bom, vamos a demo agora. Antes de mais nada, para testar esse novo recurso, vocês precisam ter algum repositório disponível já no GitHub. Nesse caso, estarei usando o meu repositório do Live Coding - Aprendendo Front-End com 9 Projetos. Se desejarem podem fazer fork desse repositório e inclusive tem vários projetos legais para vocês testarem localmente na máquina de vocês.

  • 1. Se vamos criar um PR, precisamos antes criar uma nova branch com alterações no código do projeto. Para isso, vamos criar uma nova branch com o seguinte comando:
> git checkout -b testando-github-cli
Enter fullscreen mode Exit fullscreen mode
  • 2. Agora sim, podemos criar um novo Pull Request, para isso digitem o seguinte comando:
> gh pr create
Enter fullscreen mode Exit fullscreen mode

Vai aparecer uma espécie de questionário, a qual vocês terão que incluir as informações necessárias. Ao final, você verá que a url do PR criado!

Screen-Shot-02-14-20-at-06-19-PM.png

p.s.: Pode ser que ao digitar esse comando, apareça uma janela/página de permissão/autenticação como a imagem abaixo. Bastam clicar em **Authorize github:

Screen-Shot-02-14-20-at-05-29-PM.png

Se vocês abrirem o repositório agora, verão que ele realmente foi criado:

Screen-Shot-02-14-20-at-06-21-PM.png

  • 3. Se você quiser, você pode até abrir o Pull Request via browser usando a linha de comando:
> gh pr create -w
Enter fullscreen mode Exit fullscreen mode

E abrirá a página do PR recém criado:

Screen-Shot-02-14-20-at-06-26-PM.png

  • 4. Agora vamos, fazer o checkout localmente do PR com o seguinte comando:
> gh pr checkout <numero-PR>
Enter fullscreen mode Exit fullscreen mode
  • 5. Agora vamos testar um outro comando para abrir uma nova Issue. Para isso, digitem o seguinte comando:
> gh issue create -t "Título do PR" -b "Assunto sobre o PR"
Enter fullscreen mode Exit fullscreen mode

Screen-Shot-02-14-20-at-05-48-PM.png

  • 6. Agora, abram o repositório na aba Issue e vejam o que acontece:

Screen-Shot-02-14-20-at-05-54-PM.png

Screen-Shot-02-14-20-at-05-54-PM-001.png

  • 7. E se desejar saber os status do Pull Request criado, bastam digitar o comando:
> gh pr status
Enter fullscreen mode Exit fullscreen mode

E vejam o resultado:

Screen-Shot-02-14-20-at-06-34-PM.png

Se você tiver configurado o GitHub Actions no seu repositório, poderá ver se o C.I e C.D estão passando. Inclusive, falando em GitHub Actions, em breve estarei escrevendo um artigo falando sobre esse recurso do GitHub que também é incrível!

  • 8. E vamos ao último comando da demo. O comando abaixo listará todos os Pull Requests abertos no seu repositório. Excelente recurso para quem tem projetos Open Source e recebe muitas contribuições da Comunidade:
> gh pr list
Enter fullscreen mode Exit fullscreen mode

E vejam o resultado:

Screen-Shot-02-14-20-at-06-40-PM.png

Legal, não é mesmo?!

Palavras Finais

Hoje entendemos um pouco mais sobre mais um novo projeto do time do GitHub - GitHub CLI. Um projeto promissor e acredito que deve ter bastante aderência, principalmente para aqueles desenvolvedores que desejam trabalhar com linha de comando.

Alguns pontos importantes para quem deseja mexer com o GitHub CLI, se faz necessário ter conhecimento prévio dos comandos do git, como: git branch, git checkout -b entre outros. Uma vez que para criar um novo PR, precisa criar uma nova branch, realizar commit e tudo mais.

Deixo aqui para todos vocês excelentes cursos gratuitos de Git & GitHub:

E deixo aqui com vocês um vídeo que eu fiz explicando um pouco mais sobre o GitHub CLI!

E para ficarem por dentro de várias outras novidades, não deixem de me seguir lá no twitter!

Twitter

Nos vemos! Até a próxima série pessoal! 😍

Discussion (2)

pic
Editor guide
Collapse
lumuscode profile image
Diego Freitas

Artigo bem bacana parabéns, testei aqui e mesmo em fase BETA curti pra caramba.

Collapse
glaucia86 profile image
Glaucia Lemos Author

Obrigada! Tem em forma de vídeo!