32 Cheat Sheet dei comandi Git per principianti

Pubblicato: 2022-09-23

Il cheat sheet dei comandi GIT è un utile riferimento per gli sviluppatori e contiene i comandi più comunemente usati per i progetti git.

Cos'è GIT?

GIT è un repository open source in cui gli utenti possono inserire i propri file, inclusi codice, zip, testo o l'intero progetto.

Ha diverse funzionalità, come collaborazione, controllo della versione, controllo del processo, ecc. GIT archivia i file in modo più efficiente e fornisce una migliore integrità rispetto ad altri sistemi di controllo della versione. Git è uno strumento da riga di comando.

Cos'è GitHub?

Con la sua interfaccia utente ordinata, GitHub, un hub per sviluppatori, è diventato il sistema di controllo delle versioni più utilizzato ed è accessibile da chiunque, ovunque.

Git flusso di lavoro

Git ha flussi di lavoro diversi e ogni progetto dovrebbe averne uno in base ai suoi requisiti. Il flusso di lavoro Git non è altro che un flusso di lavoro leggero e basato su filiali che aiuta i team che distribuiscono progetti regolarmente.

Ad esempio, un flusso di lavoro Git fork crea una copia locale del repository. Quindi, ogni sviluppatore ha uno spazio di lavoro locale e un repository centrale. Questo tipo di flusso di lavoro è utile quando sono coinvolti più sviluppatori e consente agli sviluppatori di collaborare sulla copia biforcuta prima di apportare modifiche al repository principale.

Perché abbiamo bisogno di Git?

Poiché Git è un sistema di controllo della versione, gli sviluppatori lavorano costantemente su di esso per salvare le modifiche, renderle visibili agli altri, unire le modifiche con gli altri e molto altro.

Per qualsiasi modifica al repository Git, gli sviluppatori devono conoscere i comandi giusti per l'azione giusta. Di seguito è riportato un elenco dei comandi Git importanti e comunemente usati:

Comandi Git comuni

git aggiungi

Per aggiungere i file specificati allo staging

 git add <file> -- add a specific file git add * -- add all the files

archivio git

Crea archivi di commit, rami e alberi e combina più file in uno solo. È possibile recuperare il contenuto estraendo i file quando necessario

git archive HEAD — crea un archivio dal ref HEAD del repository

git archive output = '.tar' — memorizza i file archiviati nella posizione specificata

git archive --format=tar.gz — specifica il formato del file archiviato, come tar, zip, tar.gz

ramo git

Elenca tutti i rami nel repository. Se viene specificato un ramo, verrà creato un nuovo ramo con il nome. Per eliminare un ramo, utilizzare l'opzione -d con il nome del ramo. Per rinominare un ramo corrente, utilizzare -m.

git branch — elenca tutti i rami

git branch <branch_name > — crea un nuovo branch chiamato 'branch_name' ma non controlla il nuovo branch.

git branch -d <branch_name> — elimina il ramo, impedisce l'eliminazione se sono presenti modifiche non unite

git branch -D <branch_name> — forza l'eliminazione del ramo anche se sono presenti modifiche non unite

git branch -m <branch2> — rinomina il ramo corrente

git cat-file

Visualizza il contenuto o le informazioni sulla dimensione/tipo degli oggetti del repository

git cat-file <object> — mostra il contenuto dell'oggetto

git cat-file -t <object> — mostra il tipo di oggetto

git cat-file -s <object> — mostra la dimensione dell'oggetto

git cat-file -p <object> — stampa il tipo di oggetto in modo carino

git cat-file -e <object> — mostra l'errore su stderr se l'oggetto ha un formato non valido o non esiste

git cat-file <type> <object> — mostra il contenuto grezzo di un oggetto

git checkout

Per passare da un ramo all'altro di un repository, usalo con attenzione, poiché non c'è alcun "annulla" per esso.

git checkout <branch_name> — estrae il ramo specificato

git checkout -b <branch_name> — crea un nuovo ramo e passa a questo ramo

Per esempio:

 C:\Users\geekflare>git checkout -b development_branch Switched to a new branch 'development_branch'

pulisci

Pulisci il direttore operativo. I file di cui è stato eseguito il commit non verranno rimossi

git clean -n — elenca i file che verranno rimossi

git clean -f — rimuove i file

git clone

Crea una copia del repository esistente in una nuova directory. Utile per ottenere una copia di sviluppo di un repository centrale.

git clone <central_repo> <new_dir> — crea una copia del repository centrale in una nuova directory

Per esempio:

 C:\Users\geek>git clone geekflare master Cloning into 'master'… done.


git clone -branch <branch> <repo> — clona un ramo dal repository menzionato

git commit

Salva le modifiche in un ambiente di gestione temporanea in modo che altri possano vederle.

git commit — esegue il commit delle modifiche allo staging

git commit -m <useful_msg> — fornisce un messaggio al momento del commit per evidenziare le modifiche apportate

git commit -a — esegue il commit delle modifiche direttamente, senza staging

Supponiamo che tu abbia aggiunto un file chiamato samplefile.txt alla tua directory di lavoro e desideri eseguire il commit del file. Dando il comando sopra, otterrai l'output:

 Please enter the commit message for your changes. Lines starting with '#' will be ignored, and an empty message aborts the commit. On branch master Initial commit Changes to be committed: new file: samplefile.txt

Una volta inviato il messaggio, le modifiche vengono salvate:

 C:\Users\geekflare>git commit -m 'samplemsg' [integration_branch (root-commit) ed52dd0] 'samplemsg' 1 files changed, 24 insertions(+) create mode 100644 samplefile.txt

git config

Specifica il livello di configurazione in cui scrivere un valore di proprietà. Il livello 'Locale' è l'impostazione predefinita (quando non è specificato nulla).

git config –local — salva la configurazione nella directory .git del repository

git config –global — salva la configurazione nella home directory dell'utente

git config –system — contiene la configurazione di tutti gli utenti e i repository e si trova nel file git config della radice.

git diff

Confronta le modifiche nel repository git, che possono essere eseguite prima dello staging, allo staging e dopo lo staging (commit).

git diff — tiene traccia delle modifiche al repository che non sono ancora state messe in scena

git diff --staged — tiene traccia delle modifiche dei file in fase (che non sono stati sottoposti a commit)

git diff HEAD — tiene traccia delle modifiche ai file dopo il commit

git diff <commit1_id> <commit2_id> — tiene traccia dei cambiamenti tra due commit; puoi scoprire i commit_id usando ' git log -p --follow --filename '

git recupero

Recupera un ramo o un intero repository remoto

git fetch <remote-url> — ottiene l'intero repository dall'URL del repository remoto

git fetch <branch_url> <branchname> — recupera il ramo specifico

git fetch -all — recupera tutti i rami di un repository remoto

git fetch origin — aggiorna e sincronizza il repository locale con le nuove modifiche nel repository remoto

git fsck

Il comando F ile S ystem C hec K controlla la validità e la connettività degli oggetti del database. Controlla lo SHA-1ID degli oggetti e le connessioni che effettuano. Fsck è utile per recuperare commit e file persi.

git fsck –full

git gc

Esegue la raccolta dei rifiuti nel repository corrente e ripulisce i file inutilizzati.

git gc

git grep

Cerca contenuto specifico nel repository. Git fornisce molte opzioni per cercare in modi diversi

git grep -i 'search_term' — cerca ignorando maiuscole e minuscole [L'uomo e l'uomo saranno gli stessi]

git grep -f <file_name> — mostra i modelli di corrispondenza di un particolare file

git grep -e 'search-term' — usa -e per il pattern matching

git grep -E 'regexp|multiple_exp' –Cerca espressioni regolari, possiamo cercare più usando l'operatore pipe (OR)

git grep -n 'expr' — numero di riga del prefisso della riga corrispondente

git grep -c 'expr' — mostra il conteggio delle righe che corrispondono invece di ogni riga

git ls-tree

Per elencare il contenuto di un oggetto albero dalla directory corrente.

git ls -tree -d <path> — mostra solo la voce dell'albero specificata, non i figli

git ls -tree -r — ricorre nei sottoalberi

git ls -tree -l — mostra la dimensione degli oggetti file (blob).

git ls -tree --name-only — visualizza solo i nomi dei file e non l'output lungo

git ls -tree --full-name — mostra i nomi dei percorsi completi e non solo il percorso relativo alla directory corrente

Esempio:

 C:\Users\geek>git ls-tree --full-tree -r HEAD 100644 blob e883e60087e84f1660a9673ccb86eb0adc4f004d samplefile.txt 100644 blob 1426dc6fbff0677a484b248983a8740ff30fbb80 sample_jsindex.js

git init

Crea un nuovo repository vuoto. È il primo comando che esegui per creare un progetto git.

git init — crea un repository .git nella directory di lavoro,

Ad esempio, per creare un nuovo repository chiamato 'geekflare', dai il comando come:

 $ git init geekflare Initialized empty Git repository in C:/Users/geek/geekflare/.git/

git instaweb

Interfaccia utente per navigare nel repository git tramite un browser. Utilizza lo script CGI GitWeb per lo stesso.

git instaweb --httpd=webrick — avvia il server (httpd) e apre il browser web sulla pagina.

Per arrestare il server, utilizzare il comando precedente con l'opzione –stop.

registro git

Registra ogni attività nel repository git.

git log : mostra gli ultimi commit

git log --oneline — mostra l'output come i primi 7 caratteri di SHA e il messaggio di commit con un commit per riga

git log stat : visualizza ulteriori informazioni sui file modificati, come il numero di righe aggiunte/rimosse, un riepilogo dei record totali modificati, le righe aggiunte/rimosse

git log --patch (or -p) : mostra i file modificati, le modifiche specifiche e la loro posizione

git log --graph — Visualizza i risultati del registro sotto forma di grafico

git log -<n> — mostra l'ultimo numero 'n' di commit

git log --after=<date/x days/yesterday> — mostra tutti i commit dopo una data specificata. Puoi usare --before per visualizzare i commit prima della data specificata

git log --author=<author_name> — mostra i commit di un particolare autore (utente).

git log --grep=<commit message> — filtra i commit in base al messaggio di commit

git merge

Integra tutti i file di sviluppo in un unico ramo, combina due rami e unisce più commit in un'unica cronologia. L'unione si interrompe se c'è un conflitto e git presenta i file di conflitto. Una volta risolti i conflitti, l'unione continua.

git checkout -b — per prima cosa, controlla il ramo da unire

git add <file>

git commit — aggiunge e salva i file

git checkout master

git merge — unisce il ramo con master

git prugna

Elimina (Elimina) i file che sono irraggiungibili dal ramo corrente. È un processo di pulizia per rimuovere i file inutilizzati dal ramo

git prune -n ​​— non sfoltire, mostra solo ciò che tutto può essere potato

git prune -v — mostra l'output delle azioni eseguite da prune

git prune --progress — mostra lo stato di avanzamento della prugna

git fetch --prune — elimina tutti i rami obsoleti

git tirare

Riceve i dati da un server remoto in un repository funzionante. Aggiorna il ramo locale (funzionante) con tutti i file più recenti dal repository remoto.

git pull — estrae il repository remoto

git pull <repo URL> — estrae un particolare ramo remoto

git push

Inserisce tutte le modifiche locali nel repository remoto. È un processo di caricamento esattamente opposto ai comandi pull e fetches

git checkout master — controlla il ramo che ha le ultime modifiche

git push origin master — invia le modifiche al repository remoto

Esempio:

 C:\Users\geek>git checkout development_branch Switched to branch 'development_branch' C:\Users\geek>git push master development_branch Enumerating objects: 4, done. Counting objects: 100% (4/4), done. Delta compression using up to 4 threads Compressing objects: 100% (3/3), done. Writing objects: 100% (4/4), 612 bytes | 204.00 KiB/s, done. Total 4 (delta 0), reused 0 (delta 0), pack-reused 0 To master [development_branch] development_branch -> development_branch

Possiamo anche usare push per eliminare un ramo remoto usando il comando git push --delete <branch> .

Per esempio:

 C:\Users\geek>git push master --delete development_branch To master [deleted] development_branch

git rebase

Combina più commit da diversi rami per creare un nuovo commit di base finale. Utile prima di unire tutte le modifiche, per eseguire il commit delle modifiche da rami diversi uno ad uno (linearmente).

git rebase <branch name> — combina i commit in una base finale

Se ci sono dei conflitti, risolvili e continua il rebase:
git rebase --continue

Per saltare qualsiasi modifica:
git rebase --skip

git remoto

Verifica la configurazione del server remoto e consente l'accesso alla connessione tra remoto e locale.

git remote — per impostazione predefinita, restituisce 'origin', il nome predefinito del server remoto fornito da Git

git remote -v — elenca i nomi brevi e gli URL di tutte le connessioni remote disponibili

git remote add <short name> <remote url> — aggiunge esplicitamente il server remoto alle connessioni disponibili. Il nome breve può essere utilizzato per i comandi git invece di fornire l'intero URL.

git remote remove <remote url/short name> — rimuove il server remoto dal repository

git reset

Torna a un commit precedente e scarta le modifiche apportate dopo quel commit

git reset <hash of the commit> — ripristina il repository nel commit specificato. Git manterrà la cronologia dei commit, quindi puoi eseguire un altro ripristino con un commit (hash) diverso per annullare un ripristino.

git rm

Rimuove il file specifico da git. Puoi annullare l'effetto di rm usando il comando reset o checkout

git rm <file_ name> — rimuove il file specifico

Per rimuovere i file da git ma mantenerli nel tuo locale (staging), usa:

git rm --cached

git spettacolo

Visualizza qualsiasi oggetto come BLOB, albero, commit o tag specificandone SHA1

git show — non specificando l'<oggetto> mostra i dettagli dell'ultimo commit sul ramo.

git show <SHA1_id> — mostra il contenuto dell'oggetto specificato dal suo SHA1 id, ad esempio, blob id, tree id, ecc. Per controllare il tipo di oggetto, usa il comando git cat-file -t

git show –pretty — mostra l'output in un formato carino.

Puoi fornire un formato personalizzato:

git show --pretty = 'format:Name: <format>' Oppure puoi utilizzare uno dei formati breve, completo, a una riga, medio o più completo, ad esempio:

git show --pretty= 'medium' — questo mostrerà l'autore, la data, il titolo e il messaggio di commit completo

git show --abbrev-commit — per abbreviare SHA1

git scorta

Per cambiare filiale senza impegnarsi nella filiale corrente, archiviare i dati non vincolati in modo sicuro

git stash — salva il lavoro e lo stato dell'indice

git stash save <message> — invia un messaggio durante il salvataggio

git stash list — Visualizza l'elenco dei contenuti nascosti

git stash apply — salva le modifiche nascoste. Per applicare le modifiche di una scorta specifica, usa l'ID indice della scorta insieme ad applica

git stash show : visualizza il contenuto dei file nascosti

git stash drop — rimuove la scorta più recente dalla coda

stato git

Visualizza lo stato del repository e dello staging, ovvero lo stato prima della fase di commit. Puoi usare questo comando dopo qualsiasi altro comando git, come aggiungere, aggiornare o rimuovere un file

git status : mostra le modifiche di cui eseguire il commit o le modifiche non tracciate (senza fasi).

Ad esempio, se aggiungi un file nella tua directory di lavoro denominata samplefile.txt e controlli se è stato aggiunto, puoi dare il comando sopra. Risulterà nell'output come segue:

 On branch master No commits yet Changes to be committed: (use "git rm --cached …" to unstage) new file: samplefile.txt

tag git

I riferimenti amichevoli vengono utilizzati per indicare pietre miliari o punti di riferimento nel codice

git tag <tag_name> — crea un tag con il nome dato

git tag — elenca tutti i tag disponibili

git tag show <tag_name> — mostra i dettagli del tag specificato

git tag -l “.*” — mostra i tag che corrispondono al modello o ai caratteri specificati

gick

Avvia l'interfaccia utente git che mostra i contenuti, i commit, le differenze complete e altri dettagli in una finestra

gitk : apre il repository git in una finestra per la visualizzazione

versione git

Usa il comando git version per controllare la versione di git che stai usando.

 C:\Users\geekflare>git version git version 2.38.0.windows.1

Parole finali

Questo post ha elencato i comandi git più comunemente usati con le loro opzioni.

Successivamente, puoi controllare lo scanner delle credenziali di GitHub.