Git CheatSheet
Configurazione globale
$ git config --global user.name "[name]" - imposta nome da mostrare nei commit
$ git config --global user.email "[email]" - imposta email da mostrare nei commit
Creazione repository
$ git init - inizializza la directory come un repository Git locale
$ git clone [url] - scarica progetto esistente e suo storico cambiamenti
Refactoring file
$ git rm [file] - rimuovi file sia dal repository Git che dal file system
$ git rm --cached [file] - rimuovi file solo dal repository Git
$ git mv [fileold] [filenew] - modifica nome del file in preparazione a un commit
Salvare frammenti
$ git stash - archivia temporaneamente tutti i file modificati
$ git stash pop - ripristina file modificati recentemente
$ git stash list - elenca set di cambiamenti archiviati
$ git stash drop - elimina set di cambiamenti più recente
Gestione modifiche
$ git status - elenca i file nuovi o modificati
$ git diff - mostra differenze non ancora nell’area di staging
$ git add [file] - aggiungi file all’area di staging
$ git diff --staged - mostra differenze tra staging e ultima modifica
$ git reset [file] - rimuovi file dall’area di staging, ma mantieni le modifiche
$ git commit -m "[descrizione] - crea snapshot nello storico (salvandoci i file presenti nell’area di staging)
Modifiche di gruppo
$ git branch - elenca branch nel repository corrente
$ git branch [branch_name] - crea nuovo branch
$ git switch -c [branch_name] - passa al branch specificato e aggiorna la directory corrente
$ git merge [branch_name] - unisci lo storico del branch specificato con quello corrente
$ git branch -d [branch_name] - elimina branch specificato
Rivedere storico
$ git log - elenca storico di versione per il branch corrente
$ git log --follow [file] - elenca lo storico di versione per il file specificato (incluse eventuali rinominazioni)
$ git diff [branch1] [branch2] - mostra differenze tra i branch
$ git show [commit] - mostra metadati e cambiamenti del commit specificato
Annullare commit
$ git reset [commit] - annulla tutti i commit effettuati dopo commit, mantenendo i cambiamenti locali
$ git reset --hard [commit] - elimina storico e cambiamenti fino al commit specificato
Sincronizzare cambiamenti
$ git fetch [remote] - scarica lo storico dei cambiamenti dal repository remoto
$ git merge [remote]/[branch] - unisci il branch remoto con quello locale
$ git push [remote] [branch] - carica tutti i cambiamenti del branch locale sul repository remoto
$ git pull - scarica lo storico e unisci i cambiamenti