GH

Învață Comenzi GitHub CLI (gh): comenzi explicate cu exemple

50 de comenzi 6 categorii

GitHub CLI (cunoscut ca comanda binară gh) este instrumentul oficial dezvoltat de GitHub pentru a aduce întreaga putere a platformei web direct în linia de comandă a dezvoltatorului. Lansat oficial în 2020, gh elimină comutarea continuă de context între editorul de cod, terminal și browserul web.

Cu GitHub CLI poți crea și revizui Pull Request-uri, poți inspecta diferențele de cod (diff), poți clona depozite prin scurtături simple, poți urmări în timp real execuția pipeline-urilor GitHub Actions cu streaming de jurnale și poți gestiona secrete criptate și versiuni software (Releases) printr-o singură linie de comandă.

Mai jos găsești cele 50 de comenzi esențiale GitHub CLI organizate pe categorii: autentificare securizată și configurări de sistem, fluxul complet de lucru cu Pull Requests, gestionarea tichetelor și a discuțiilor (Issues), administrarea depozitelor și a fork-urilor, monitorizarea și relansarea fluxurilor de lucru GitHub Actions și publicarea de versiuni cu gestionarea secretelor.

Autentificare, Configurare și Utilitare globale 8 comenzi

Pull Requests (PR-uri) 9 comenzi

Issues și Discuții 8 comenzi

Repozitorii și Git Remote 9 comenzi

GitHub Actions și Workflow-uri 8 comenzi

Release-uri, Secrete și Extensii 8 comenzi

Toate comenzile GitHub CLI (gh)

Lista completă a celor 50 de comenzi GitHub CLI (gh) explicate în această secțiune. Fiecare are propria pagină dedicată, cu explicații în limba română, sintaxă și exemple practice gata de utilizat.

Autentificare, Configurare și Utilitare globale (8)

Comandă / Utilitar Ce face
gh auth login - Autentificarea în contul GitHub Inițializează conexiunea securizată cu GitHub.com sau GitHub Enterprise prin browser web sau Personal Access Token.
gh auth login
gh auth status - Verificarea stării sesiunii și a permisiunilor Afișează contul curent conectat, serverul GitHub asociat, protocolul Git configurat și lista de scopuri (scopes) de permisiuni active.
gh auth status
gh auth logout - Deconectarea contului GitHub de pe mașina locală Șterge token-ul salvat și credențialele de acces pentru contul specificat din fișierele locale de configurare.
gh auth logout
gh auth refresh - Reîmprospătarea token-ului și extinderea permisiunilor (Scopes) Extinde permisiunile token-ului curent fără a necesita reconectarea de la zero, adăugând scopurile solicitate.
gh auth refresh -s workflow
gh config set - Configurarea setărilor globale ale GitHub CLI Personalizează opțiunile globale: editorul de text implicit, protocolul Git preferat (ssh sau https) sau comportamentul interactiv.
gh config set editor nano
gh config get - Citirea unei configurări active Afișează valoarea curentă a unei setări globale sau listează toate opțiunile configurate.
gh config get editor
gh alias set - Crearea de scurtături și aliasuri personalizate Definește comenzi rapide (aliasuri) pentru a accelera apelarea comenzilor frecvente sau complexe.
gh alias set co "pr checkout"
gh version - Afișarea versiunii instalate a utilitarului GitHub CLI Afișează versiunea exactă a binarului gh, hash-ul commit-ului de compilare și verifică existența unei versiuni mai noi.
gh version

Pull Requests (PR-uri) (9)

Comandă / Utilitar Ce face
gh pr create - Crearea unui Pull Request nou direct din terminal Deschide un Pull Request nou pe GitHub pentru branch-ul curent fără a mai deschide browserul web.
gh pr create --title "Titlu PR" --body "Descriere"
gh pr list - Listarea și filtrarea Pull Request-urilor deschise Afișează lista PR-urilor active din depozitul curent cu număr, titlu, branch sursă și stare de revizuire.
gh pr list
gh pr view - Vizualizarea detaliilor și a discuțiilor dintr-un PR Randează conținutul complet al PR-ului direct în terminal cu Markdown formatat sau îl deschide în browser.
gh pr view
gh pr checkout - Descărcarea și comutarea automată pe branch-ul unui PR Descarcă branch-ul de la distanță al colegului (chiar și dintr-un fork extern) și face comutarea (git checkout) locală printr-o singură comandă.
gh pr checkout 42
gh pr diff - Inspectarea diferențelor de cod (Diff) dintr-un PR Afișează diferențele de cod (git diff) aduse de Pull Request direct în consolă cu colorare sintactică.
gh pr diff 42
gh pr review - Aprobarea sau solicitarea de modificări pe un PR Trimite oficial o recenzie de cod (Code Review): aprobare (Approve), cerere de modificări (Request Changes) sau comentariu neutru.
gh pr review 42 --approve -b "Codul arată excelent!"
gh pr merge - Îmbinarea definitivă a unui Pull Request (Merge / Squash / Rebase) Finalizează Pull Request-ul îmbinându-l în branch-ul principal și șterge automat branch-ul de lucru.
gh pr merge 42 --squash --delete-branch
gh pr close / reopen - Închiderea sau redeschiderea unui Pull Request Închide un PR fără a efectua îmbinarea codului sau redeschide un PR închis anterior.
gh pr close 42
gh pr comment - Adăugarea de comentarii pe un Pull Request Postează un comentariu nou în firul de discuție al unui Pull Request.
gh pr comment 42 --body "Am actualizat configurarea conform discuției."

Issues și Discuții (8)

Comandă / Utilitar Ce face
gh issue create - Crearea unui Issue nou din terminal Deschide un tichet nou (Issue) în depozit, asignând etichete, responsabili și etape (milestones).
gh issue create --title "Bug la autentificare" --body "Descriere eroare..."
gh issue list - Listarea și căutarea tichetelor existente Afișează lista tichetelor din depozit cu număr, titlu, etichete și data ultimei actualizări.
gh issue list
gh issue view - Vizualizarea detaliilor unui Issue Afișează descrierea completă, etichetele, responsabilii și comentariile unui tichet în terminal sau în browser.
gh issue view 85
gh issue edit - Modificarea proprietăților unui Issue existent Actualizează titlul, descrierea, adaugă sau elimină etichete și schimbă responsabilii pe un tichet.
gh issue edit 85 --add-label "in-lucru"
gh issue close - Închiderea unui Issue rezolvat Marchează tichetul ca închis cu motivul ‘completed’ (rezolvat cu succes) sau ‘not planned’ (anulat).
gh issue close 85
gh issue reopen - Redeschiderea unui Issue închis Re-activează un tichet închis anterior pentru reanalizare sau continuare de lucru.
gh issue reopen 85
gh issue comment - Adăugarea de răspunsuri și comentarii la un Issue Postează un comentariu în firul de discuție al unui tichet din depozit.
gh issue comment 85 --body "Am reprodus bug-ul pe macOS."
gh issue develop - Crearea unui branch asociat automat unui Issue Generează o ramură (branch) nouă Git legată oficial de tichetul respectiv și comută spațiul de lucru pe ea.
gh issue develop 85 --checkout

Repozitorii și Git Remote (9)

Comandă / Utilitar Ce face
gh repo create - Crearea unui depozit nou pe GitHub Creează un nou repository pe GitHub (public sau privat), opțional inițializând folderul local și împingând codul existent.
gh repo create nume-proiect --public --source=. --push
gh repo clone - Clonarea unui depozit GitHub Clonează depozitul indicat pe mașina locală, configurând automat protocolul preferat (SSH sau HTTPS).
gh repo clone utilizator/repo
gh repo view - Vizualizarea detaliilor și a fișierului README Afișează descrierea, stelele (stars), limbajul principal și conținutul fișierului README.md direct în terminal.
gh repo view
gh repo fork - Crearea unei copii fork și configurarea remote-ului upstream Creează un fork al depozitului specificat în contul tău personal și configurează automat legăturile git origin și upstream.
gh repo fork depozit/străin --clone
gh repo sync - Sincronizarea unui fork cu depozitul upstream Aduce automat ultimele modificări din depozitul sursă (upstream) în propriul tău fork fără a necesita merge manual.
gh repo sync
gh repo edit - Modificarea setărilor și metadatelor depozitului Schimbă descrierea, site-ul oficial, vizibilitatea (public/privat), activează sau dezactivează Issues/Wiki direct din consolă.
gh repo edit --description "Noua descriere a proiectului"
gh repo archive - Trecerea depozitului în mod arhivă (Read-Only) Marchează proiectul ca arhivat: depozitul devine de doar-citire (read-only), blocând commit-urile noi, PR-urile și comentariile.
gh repo archive dexter/proiect-vechi --yes
gh repo delete - Ștergerea definitivă a unui depozit Șterge ireversibil un repository de pe GitHub, inclusiv toate branch-urile, tichetele și release-urile sale.
gh repo delete dexter/test-repo --yes
gh repo list - Listarea tuturor depozitelor unui utilizator sau organizații Afișează lista tuturor proiectelor deținute de un utilizator sau de o organizație, cu vizibilitate și dată de actualizare.
gh repo list

GitHub Actions și Workflow-uri (8)

Comandă / Utilitar Ce face
gh workflow list - Listarea fișierelor de workflow GitHub Actions Afișează toate pipeline-urile de CI/CD definite în directorul .github/workflows/, starea lor (active/disabled) și ID-ul unic.
gh workflow list
gh workflow run - Declanșarea manuală a unui workflow (workflow_dispatch) Lansează execuția imediată a unui pipeline GitHub Actions ce conține declanșatorul workflow_dispatch.
gh workflow run deploy.yml
gh workflow view - Vizualizarea codului YAML și a stării unui workflow Afișează detaliile, declanșatorii și codul sursă YAML al unui pipeline Actions direct în consolă.
gh workflow view deploy.yml
gh workflow enable / disable - Pauzarea temporară a unui pipeline Dezactivează temporar un flux de lucru pentru a opri execuția automată a cron-urilor sau a acțiunilor pe push.
gh workflow disable deploy.yml
gh run list - Listarea execuțiilor recente de pipeline Actions Afișează istoricul execuțiilor de pipeline cu stare (success, failure, in_progress), eveniment declanșator, branch și durată.
gh run list
gh run view - Inspectarea jurnalului și a pașilor eșuați dintr-un job Afișează sumarul joburilor rulate și extrage din jurnale doar pașii care au dat eroare pentru depanare instantanee.
gh run view 99182740
gh run watch - Monitorizarea în timp real cu streaming a execuției pipeline-ului Menține terminalul deschis și afișează în timp real progresul fiecărui pas din pipeline până la finalizarea completă.
gh run watch
gh run rerun - Re-rularea unui pipeline sau doar a pașilor eșuați Reia execuția unui pipeline fără a împinge commit-uri noi în depozit.
gh run rerun 99182740

Release-uri, Secrete și Extensii (8)

Comandă / Utilitar Ce face
gh release create - Publicarea unei versiuni noi cu tag și binare atașate Creează un nou Release pe GitHub, generează automat notele de versiune (changelog) din PR-uri și încarcă fișierele binare compilate.
gh release create v1.0.0 --generate-notes
gh release list - Listarea tuturor versiunilor publicate (Releases) Afișează lista tuturor versiunilor lansate oficial în depozit, indicând tag-ul, starea (Latest, Pre-release) și data publicării.
gh release list
gh release view - Vizualizarea detaliilor și a notelor unei versiuni Afișează notele de versiune (Changelog) și lista activelor binare descărcabile pentru versiunea specificată.
gh release view
gh release download - Descărcarea fișierelor binare atașate unui Release Descarcă rapid activele compilate și pachetele de instalare asociate unui Release pe mașina locală.
gh release download v2.0.0
gh secret set - Adăugarea sau actualizarea secretelor criptate pentru GitHub Actions Criptează local și încarcă în siguranță variabile de mediu secrete (chei API, parole, certificate) utilizate de pipeline-urile Actions.
gh secret set API_KEY --body "secret_123"
gh secret list - Listarea numelor de secrete configurate în depozit Afișează numele secretelor existente și data ultimei lor actualizări (fără a expune valorile secrete).
gh secret list
gh extension install - Instalarea plugin-urilor și a comenzilor comunitare Extinde funcționalitatea GitHub CLI prin instalarea de comenzi și plugin-uri suplimentare create de comunitate.
gh extension install dlorenc/gh-cost
gh api - Efectuarea cererilor directe către GitHub REST și GraphQL API Client complet de API care gestionează automat autentificarea, paginarea și antetele pentru interogarea oricărui endpoint GitHub.
gh api user