# Git Cheat Sheet: guida rapida dei comandi Git

Non importa se avete appena guardato il vostro primo [tutorial su Git](https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/tutorial-git/ "Tutorial Git") o se sapete già usare questo software di controllo di versione: con questa lista chiara e dettagliata, conosciuta anche come “Git Cheat Sheet”, avete i [comandi Git](https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/comandi-git/ "Comandi Git") e i relativi snippet di codice sempre a portata di mano.

Git Cheat Sheet ##  Versione e installazione

Per verificare quale versione di Git è attualmente installata sul vostro computer, digitate il seguente comando:

```none
git --version
```

Se Git non è installato, potete scaricarlo tramite i seguenti link:

- [Git per Linux](https://git-scm.com/download/linux "Sito web di Git: download per Linux")
- [Git per Mac](https://git-scm.com/download/mac "Sito web di Git: download per Mac")
- [Git per Windows](https://git-scm.com/download/win "Sito web di Git: download per Windows")

Git è un programma open source e quindi gratuito.

## Configurazione

Per lavorare con Git avete anzitutto bisogno di un nome utente e di un indirizzo e-mail valido. Di seguito come configurare entrambi:

<table>
  <tbody>
    <tr>
      <td>Scegliere il nome utente</td>
      <td>git config --global user.name "nomeutente"</td>
    </tr>
    <tr>
      <td>Inserire l’indirizzo e-mail</td>
      <td>git config --global user.email "indirizzoesempio@esempio.it"</td>
    </tr>
  </tbody>
</table>

## Creare un repository

Comandi per creare un nuovo repository o scaricarne uno già esistente:

<table>
  <tbody>
    <tr>
      <td>Creare e nominare un nuovo repository locale</td>
      <td>git init nomerepository</td>
    </tr>
    <tr>
      <td>Creare una copia di un repository esistente e della relativa cronologia con [git clone](https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/git-clone/)</td>
      <td>git clone "http://sitoesempio.it"</td>
    </tr>
  </tbody>
</table>

## Apportare delle modifiche

Comandi per eseguire modifiche, tracciarle e aggiungere file.

<table>
  <tbody>
    <tr>
      <td>Visualizzare lo stato della directory</td>
      <td>git status</td>
    </tr>
    <tr>
      <td>Visualizzare elementi</td>
      <td>git show</td>
    </tr>
    <tr>
      <td>Aggiungere un file</td>
      <td>git add nomefile</td>
    </tr>
    <tr>
      <td>Aggiungere tutti i file di un repository</td>
      <td>git add\*</td>
    </tr>
    <tr>
      <td>Visualizzare tutti i file nuovi o modificati con [git diff](https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/git-diff/)</td>
      <td>git diff</td>
    </tr>
    <tr>
      <td>Indicizzare lo stato attuale di un file</td>
      <td>git diff --staged</td>
    </tr>
    <tr>
      <td>Tracciare le modifiche dopo il commit</td>
      <td>git diff HEAD</td>
    </tr>
    <tr>
      <td>Visualizzare le differenze fra index e stato attuale</td>
      <td>git reset nomefile</td>
    </tr>
    <tr>
      <td>Registrare in modo definitivo nella cronologia di versione le modifiche ai file attualmente indicizzati con [git commit](https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/git-commit/)</td>
      <td>git commit -m "commenti alle modifiche"</td>
    </tr>
  </tbody>
</table>

## Branch

Comandi per raggruppare le modifiche in un branch e integrare eventuali aggiornamenti.

### Creare e modificare un branch

<table>
  <tbody>
    <tr>
      <td>Creare un nuovo branch</td>
      <td>git branch nomebranch</td>
    </tr>
    <tr>
      <td>Visualizzare la lista di tutti i branch</td>
      <td>git branch --list</td>
    </tr>
    <tr>
      <td>Cancellare un branch</td>
      <td>git branch -d</td>
    </tr>
    <tr>
      <td>Cancellare un branch remoto</td>
      <td>git push origin --delete</td>
    </tr>
    <tr>
      <td>Rinominare un branch</td>
      <td>git branch -m</td>
    </tr>
  </tbody>
</table>

### Cambiare branch

<table>
  <tbody>
    <tr>
      <td>Passare da un branch all’altro con [git checkout](https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/git-checkout/)</td>
      <td>git checkout altrobranch</td>
    </tr>
    <tr>
      <td>Creare e accedere a un nuovo branch</td>
      <td>git checkout -b</td>
    </tr>
  </tbody>
</table>

### Merge e fetch

<table>
  <tbody>
    <tr>
      <td>Unire la cronologia di un branch con il branch attuale</td>
      <td>git merge nomebranch</td>
    </tr>
    <tr>
      <td>Recuperare un repository esterno e cambiare la cronologia</td>
      <td>git fetch "http://www.sitoesempio.it"</td>
    </tr>
    <tr>
      <td>Scaricare tutti i branch</td>
      <td>git fetch --all</td>
    </tr>
    <tr>
      <td>Sincronizzare un repository locale</td>
      <td>git fetch origin</td>
    </tr>
  </tbody>
</table>

### Salvataggio in un file temporaneo

<table>
  <tbody>
    <tr>
      <td>Salvare le modifiche eseguite su un branch senza eseguire commit con [git stash](https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/git-stash/)</td>
      <td>git stash</td>
    </tr>
    <tr>
      <td>Salvare le modifiche con un commento</td>
      <td>git stash save "inserire qui il commento"</td>
    </tr>
    <tr>
      <td>Visualizzare la lista delle modifiche salvate in stash</td>
      <td>git stash list</td>
    </tr>
    <tr>
      <td>Ripristinare le modifiche salvate</td>
      <td>git stash apply</td>
    </tr>
    <tr>
      <td>Tracciare le modifiche eseguite e salvate</td>
      <td>git stash show</td>
    </tr>
    <tr>
      <td>Applicare stash per eliminare direttamente le ultime modifiche salvate</td>
      <td>git stash pop</td>
    </tr>
    <tr>
      <td>Cancellare le modifiche salvate in stash</td>
      <td>git stash drop</td>
    </tr>
    <tr>
      <td>Eliminare tutti gli stash disponibili</td>
      <td>git stash clear</td>
    </tr>
    <tr>
      <td>Eseguire uno stash su un branch differente</td>
      <td>git stash branch nomebranch</td>
    </tr>
  </tbody>
</table>

## Push e pull

I comandi [git push](https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/git-push/ "Git push") e [git pull](https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/git-pull/ "Git Pull") servono rispettivamente a inviare o a richiamare i commit dal server centrale.

<table>
  <tbody>
    <tr>
      <td>Integrare il branch remoto nel branch locale attuale</td>
      <td>git push "http://www.sitoesempio.it" nomebranchlocale</td>
    </tr>
    <tr>
      <td>Inviare dati al server remoto</td>
      <td>git push origin master</td>
    </tr>
    <tr>
      <td>Forzare un push</td>
      <td>git push -f</td>
    </tr>
    <tr>
      <td>Eliminare un branch remoto con push</td>
      <td>git push origin --delete nomebranch</td>
    </tr>
    <tr>
      <td>Aggiornare la cronologia del repository locale con quella del repository centrale</td>
      <td>git pull</td>
    </tr>
    <tr>
      <td>Scaricare i dati dal server centrale</td>
      <td>git pull origin master</td>
    </tr>
  </tbody>
</table>

## Log

Il comando [git log](https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/git-log/ "Git log") serve a tenere sotto controllo la cronologia dei commit.

<table>
  <tbody>
    <tr>
      <td>Visualizzare l’elenco dei commit effettuati in un branch</td>
      <td>git log</td>
    </tr>
    <tr>
      <td>Limitare il numero dei commit (ad esempio a tre)</td>
      <td>git log -3</td>
    </tr>
    <tr>
      <td>Filtrare i commit in base a un determinato autore o a una determinata autrice</td>
      <td>git log --author= "nomeautore"</td>
    </tr>
    <tr>
      <td>Visualizzare i commit eseguiti in un determinato periodo di tempo</td>
      <td>git log &lt;since&gt;…&lt;until&gt;</td>
    </tr>
    <tr>
      <td>Visualizzare i commit contenenti un file specifico</td>
      <td>git log nomefile</td>
    </tr>
  </tbody>
</table>

## Annullare le modifiche

Avete due possibilità per annullare le vostre modifiche: usando i comandi git revert o git reset. Nel secondo caso potete scegliere fra le opzioni “soft”, “hard” e “mixed”.

<table>
  <tbody>
    <tr>
      <td>Modificare il commit esistente</td>
      <td>git commit --amend</td>
    </tr>
    <tr>
      <td>Cancellare il file dall’area di staging</td>
      <td>git reset HEAD nomefile o git restore --staged nomefile</td>
    </tr>
    <tr>
      <td>Eliminare le modifiche locali a un file nell’area di staging</td>
      <td>git checkout --nomefile o git restore nomefile</td>
    </tr>
  </tbody>
</table>

---

### Consiglio

Pagina web statica o applicazione a pagina singola: con [Deploy Now](https://www.ionos.it/hosting/deploy-now "Deploy Now: progetta e distribuisci attraverso GitHub - IONOS") di IONOS, effettuate il deployment del vostro progetto in soli tre passaggi. In questo modo approfittate di funzionalità utili come il riconoscimento automatico del framework e un’elevata scalabilità.

---


This is a markdown version of: [https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/git-cheat-sheet/](https://www.ionos.it/digitalguide/siti-web/programmazione-del-sito-web/git-cheat-sheet/) for AI/LLM consumption.