# Commandes utiles

#### <span style="text-decoration: underline;">**Afficher l'état de la branche en cours :** </span>

```
git status
```

#### <span style="text-decoration: underline;">**Ajouter des modifications à un commit :** </span>

```
git add <chemin vers mon fichier>
```

#### <span style="text-decoration: underline;">**Commit :** </span>

```
git commit -m "Mon message de commit"
```

#### <span style="text-decoration: underline;">**Envoie du commit :** </span>

```
git push
```

#### <span style="text-decoration: underline;">**Récupération des derniers commits distants :** </span>

```
git pull
```

#### <span style="text-decoration: underline;">**Supprimer le dernier commit :** </span>

```
git reset --hard HEAD~1
```

Options :

<div class="page-content" id="bkmrk-hard%C2%A0-supprime-le-co"><div dir="auto">- hard 
    - supprime le commit et enlève tes changements en local
- mixed 
    - supprime le commit de la staging area mais les changements en local (retours à l'état nécessitant un `git add xxxx`).
- soft 
    - supprime le commit mais reste dans la staging area (après un `git add xxxx`), plus qu'à re- commit !

</div></div>#### <span style="text-decoration: underline;">**Appliquer les commits d'une branche au dessus d'une autre branche:** </span>

```bash
git switch <branche cible>
git rebase <branche ou ajouter les commit>
```

#### <span style="text-decoration: underline;">**Changer de branche :** </span>

```
git checkout <nom de ma branche>
```

### Astuces : 

Tu t'es trompé de branches et tu veux pas perdre ton code ?

Sauvegarder ton code dans un tampon :

<p class="callout info">Avant de stash, il faut avoir add ton code en faisant un git add /path/to/file</p>

```
git stash
```

Fait ton changement de branche :

```
git checkout ....
```

Applique ton code en mémoire tampon :

```
git statch pop
```

<div class="page-content" id="bkmrk-"><div class="text-muted text-small">  
</div></div>