32 Cheat Sheet dei comandi Git per principianti
Pubblicato: 2022-09-23Il 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.