Skip to content
> 💻 🧠 Codice 1001 > 📚 Materiali di Apprendimento > Git > GitHub > Cos’è GitHub CLI?

Cos’è GitHub CLI?

CLI è comodo per sviluppatori, ingegneri DevOps e chiunque automatizzi il lavoro con GitHub o preferisca il terminale al browser.


Installazione

GitHub CLI è supportato su Windows, macOS e Linux.

  • Linux (Ubuntu/Debian):
sudo apt install gh
  • macOS (tramite Homebrew):
brew install gh
  • Windows (tramite Winget):
winget install --id GitHub.cli

Dopo l’installazione, controlla la versione:

gh --version

Autorizzazione

Per accedere a repository privati e azioni, devi autorizzarti:

gh auth login

CLI ti offrirà:

  • scegliere GitHub.com o GitHub Enterprise
  • metodo di autorizzazione (browser, token, SSH)
  • salvare i dati per le esecuzioni successive

Controlla lo stato con il comando:

gh auth status

Funzionalità principali

Lavorare con i repository

Creazione di un nuovo repository:

gh repo create my-project

Clonazione:

gh repo clone owner/repo

Visualizzazione delle informazioni:

gh repo view owner/repo

Issue

Creazione di un’issue:

gh issue create --title "Bug: crash all'avvio" --body "Passi per riprodurre..."

Elenco delle issue:

gh issue list

Visualizzazione di un’issue specifica:

gh issue view 42

Pull Request

Creazione di una pull request:

gh pr create --base main --head feature-branch --title "Nuova funzionalità" --body "Aggiunta nuova funzionalità"

Visualizzazione:

gh pr list
gh pr view 123

Unione:

gh pr merge 123 --squash --delete-branch

Actions (CI/CD)

Esecuzione di workflow:

gh workflow run build.yml

Visualizzazione dello stato:

gh run list

Comandi utili

ComandoScopo
gh helpelenca tutti i comandi
gh alias set co "pr checkout"crea un alias per un comando rapido
gh gist create file.txtcarica file come gist
gh release create v1.0.0crea una release

Vantaggi di GitHub CLI

  • Risparmio di tempo: lavora con GitHub senza browser.
  • Scripting: comodo da automatizzare in bash/PowerShell.
  • Integrazione con CI/CD.
  • Strumento unico per comandi e API GitHub.

Ottimo 🚀 Allora, creiamo una checklist “TOP-10 comandi GitHub CLI per l’uso quotidiano”. Può essere usata come cheat sheet.


✅ TOP-10 comandi GitHub CLI per l’uso quotidiano

1. Autorizzazione

gh auth login

🔑 Autorizza GitHub tramite browser o token. Utile per la prima configurazione o il cambio di account.


2. Controlla lo stato dell’autorizzazione

gh auth status

📌 Controlla se la CLI è connessa a GitHub e come.


3. Clona repository

gh repo clone owner/repo

📥 Clonazione rapida del repository senza cercare un link nell’interfaccia web.


4. Crea nuovo repository

gh repo create my-project

🆕 Crea repository direttamente dal terminale (locale + su GitHub).


5. Visualizza le informazioni del repository

gh repo view --web

📖 Mostra la descrizione e le impostazioni del repository. L’opzione --web apre immediatamente la pagina nel browser.


6. Elenca le issue

gh issue list

📋 Comodo per visualizzare attività e bug direttamente nel terminale.


7. Crea issue

gh issue create --title "Bug: accesso fallito" --body "Passi per riprodurre..."

🐞 Crea una nuova attività o un rapporto di bug.


8. Crea Pull Request

gh pr create --base main --head feature-branch --title "Nuova funzionalità" --body "Descrizione..."

🔀 Strumento principale per il lavoro di squadra: apertura di una Pull Request dal tuo branch.


9. Visualizza e controlla PR

gh pr view 123

👀 Visualizza Pull Request con commenti e stati di controllo. Puoi aggiungere --web per aprire nel browser.


10. Unisci PR con eliminazione del branch

gh pr merge 123 --squash --delete-branch

✅ Unisci Pull Request + elimina branch in un solo passaggio.


📌 GitHub CLI — Cheat Sheet

🔑 Autorizzazione e impostazioni

ComandoScopoEsempio
gh auth loginAutorizzazione (browser, token, SSH)gh auth login
gh auth statusControlla la connessione attualegh auth status
gh alias set co "pr checkout"Crea un alias per un comandogh alias set co "pr checkout"
gh config getOttieni le impostazioni della CLIgh config get editor

📂 Repository

ComandoScopoEsempio
gh repo createCrea repositorygh repo create my-project
gh repo cloneClona repositorygh repo clone hypo69/hypotez
gh repo viewInfo sul repository (o apri nel web)gh repo view --web
gh repo forkForka repositorygh repo fork owner/repo

📝 Issue

ComandoScopoEsempio
gh issue listElenca attivitàgh issue list
gh issue createCrea issuegh issue create --title "Bug" --body "Steps..."
gh issue viewVisualizza issuegh issue view 42
gh issue closeChiudi issuegh issue close 42

🔀 Pull Request

ComandoScopoEsempio
gh pr listElenca PRgh pr list
gh pr createCrea PRgh pr create --base main --head feature-x
gh pr viewVisualizza PRgh pr view 123 --web
gh pr checkoutPassa al branch PRgh pr checkout 123
gh pr mergeUnisci PRgh pr merge 123 --squash --delete-branch

📦 Release

ComandoScopoEsempio
gh release listElenca releasegh release list
gh release createCrea releasegh release create v1.0.0 --notes "First release"
gh release uploadAggiungi file a releasegh release upload v1.0.0 build.zip
gh release viewVisualizza releasegh release view v1.0.0

📜 Gist

ComandoScopoEsempio
gh gist createCrea gistgh gist create file.txt
gh gist listElenca gistgh gist list
gh gist viewVisualizza gistgh gist view abc123
gh gist editModifica gistgh gist edit abc123

⚙️ Workflow (GitHub Actions)

ComandoScopoEsempio
gh workflow listElenca workflowgh workflow list
gh workflow viewVisualizza workflowgh workflow view build.yml
gh workflow runEsegui workflowgh workflow run build.yml
gh run listElenca esecuzionigh run list
gh run watchGuarda esecuzionegh run watch 123456789

Leave a Reply

Your email address will not be published. Required fields are marked *