Guia simples e rápido para instalação e configuração do GitHub CLI para autenticação
Porquê usar isto?
- Facilidade de não ter de andar com tokens/chaves atrás,
- Outras funcionalidades que pode ver esta página
Instalação
Debian (Ubuntu incluído)
sudo apt install gh
RedHat
sudo dnf install gh
Se não for suficiente veja este guia
ArchLinux
sudo pacman -S github-cli
Outras distribuições veja a guide do github
Configuração
1. Executar o comando para iniciar o menu:
gh auth login
2. Selecionar GitHub.com
3. Selecione o protocolo que utiliza para os seus repositórios.
Pode verificar o que está a usar vendo o ficheiro /.git/config
na root do repositório local.
No caso de ser HTTPS:
No caso de ser SSH:
Pode também alterar o que usa mudando para o link que obtém clicando no botão verde 'Code' na página do repositório.
Nota: Se der clone usando o comando da aba do GitHub CLI, fica a usar HTTPS por isso configure isto com HTTPS.
3.1. Configurar com HTTPS (recomendado):
Aqui pode configurar usando o browser ou usando um token.
3.1.1. Usando o web browser:
- Selecione a primeira opção:
- Copie o código temporário e clique Enter:
- Cole o código temporário na caixa da janela do browser, clique em 'Continue' e de seguida em 'Authorize'. Deve também autorizar o acesso do GitHub CLI às organizações pretendidas.
3.1.2. Usando o token HTTPS:
- Deve ir ao GitHub para criar o token. Vá a Settings > Developer Settings > Personal Access Tokens > Tokens (classic) > Generate New Token (classic)
- Crie o token com no mínimo os seguintes scopes: 'repo', 'workflow', 'admin:org':
- Copie o token gerado e cole no terminal após escolher a opção de 'Paste an authentication token'.
No final deverá aparecer a seguinte mensagem:
3.2. Configurar com SSH:
Se já tiver uma chave criada, selecione essa mesma chave:
Se não tiver nenhuma chave pode criar na hora, pode colocar uma palavra-passe (opcional) e depois selecione 'Login with a web browser' e segue o passo 3.1.1.
No final deverá aparecer a seguinte mensagem:
Pode conter erros, caso encontre algum, crie um ticket