# Etape 3 : Faire son premier commit ### Un commit, en gros c'est quoi ? Un *commit* est une sauvegarde de modification(s) : lorsque le code a été modifié et que tout marche comme sur des roulettes, il faut faire une nouvelle sauvegarde pour **geler** le projet. ### Après modification du code du projet, c'est l'heure de sauvegarder ! La commande `git commit` est accompagné d'un tag permettant de **coller** un bref message au commit. ```bash michael@dwaps-formation:~$ git commit -m "Mon premier commit" [master (root-commit) 0b1b4af] Mon premier commit 2 files changed, 16 insertions(+) create mode 100644 index.html create mode 100644 style.css ``` ### Notion importante ! Un commit doit TOUJOURS être précédé d'un ajout de la modification à l'index de Git : ```bash michael@dwaps-formation:~$ mkdir mon-dossier && touch fichier-1.sh fichier-2.png mon-dossier/fichier-3.mp3 michael@dwaps-formation:~$ git add fichier-1.sh fichier-2.png mon-dossier/ michael@dwaps-formation:~$ git commit -m "Modification de 3 fichiers" [master e5a2ede] Modification de 3 fichiers 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 fichier-1.sh create mode 100644 fichier-2.png create mode 100644 mon-dossier/fichier-3.mp3 michael@dwaps-formation:~$ git log commit e5a2ede (HEAD -> master) Author: Michael Cornillon Date: Fri Dec 21 10:11:38 2018 +0100 Modification de 3 fichiers commit 0b1b4af Author: Michael Cornillon Date: Fri Dec 21 10:08:31 2018 +0100 Mon premier commit ``` (Notez que vous pouvez à tout moment voir l'historique de vos commits grâce à la commande `git log`). Pour ajouter plus rapidement l'ensemble des modifications, on peut utiliser le . (répertoire courant) : `git add .`. ```bash michael@dwaps-formation:~$ git add . michael@dwaps-formation:~$ git commit -m "Modification de 3 fichiers" ``` Pour aller encore plus vite, on peut ajouter le tag `-a` à la commande `git commit` : ```bash michael@dwaps-formation:~$ git commit -a -m "Modification de 3 fichiers" ``` Enfin, comme c'est possible dans la majorité des cas en bash, on peut **fusionner** les tags en un seul : ```bash michael@dwaps-formation:~$ git commit -am "Modification de 3 fichiers" ```