diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 59c266181d1b0031e817c7c045b2aec1db5ddb6e..6987817c4da5bb366e1c91913e429c666333f5d0 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -44,5 +44,6 @@ build_artifacts:
   artifacts:
     paths:
       - "git_tutorial.pdf"
+      - "git_tutorial_gitignore.pdf"
   only:
     - tags
diff --git a/Makefile b/Makefile
index 0346b8a4bd1e6781f851a3de01d4576e367cc575..50ad158740e8ad2924bb03865229919d30a8f708 100644
--- a/Makefile
+++ b/Makefile
@@ -9,11 +9,22 @@ BEAMEROPTIONS += -H ./header.tex --listings
 
 BLA = $(shell git log | head -n 1)
 
-default: git_tutorial.md
+all: git_tutorial.pdf git_tutorial_gitignore.pdf
+
+git_tutorial.pdf: git_tutorial.md
 	echo $(BLA)
-	sed -i '3s/.*/% $(BLA)/' git_tutorial.md
-	pandoc -s $(BEAMEROPTIONS) -o git_tutorial.pdf git_tutorial.md
+	sed -i '3s/.*/% $(BLA)/' $<
+	pandoc -s $(BEAMEROPTIONS) -o $@ $<
+
+
+git_tutorial_gitignore.pdf: git_tutorial_gitignore.md
+	echo $(BLA)
+	sed -i '3s/.*/% $(BLA)/' $<
+	pandoc -s $(BEAMEROPTIONS) -o $@ $<
 
 deploy: default
 	mkdir -p git_tuto
 	cp *.pdf git_tuto
+
+clean:
+	rm -f *.pdf
diff --git a/git_tutorial.md b/git_tutorial.md
index a2acb9c515331c0c422555a0d955c0d00442a167..2dd541165e02b8aa6348b21bc66012d238686c2a 100644
--- a/git_tutorial.md
+++ b/git_tutorial.md
@@ -1,6 +1,6 @@
 % Introduction à Git
 % Orestis Malaspinas
-% commit 49ffd517cd08074118a076fefb9a8a58f406cbf6
+% commit ee7a89cab009aba5b291125eb0b28a4bd7034fc9
 
 # Des références
 
diff --git a/git_tutorial_gitignore.md b/git_tutorial_gitignore.md
new file mode 100644
index 0000000000000000000000000000000000000000..35542e6b9c02b132a5ad42b784e9dfbb187ca27a
--- /dev/null
+++ b/git_tutorial_gitignore.md
@@ -0,0 +1,45 @@
+% Introduction à Git partie 2
+% Orestis Malaspinas
+% commit ee7a89cab009aba5b291125eb0b28a4bd7034fc9
+
+# Le fichier `.gitignore`
+
+## L'état des fichiers
+
+Git voit les fichiers dans trois états possibles:
+
+1. *tracked*, un fichier qui a été `add` (`staged`) ou `commit` (dans la terminologie git).
+2. *untracked*, un fichier qui n'a pas été `add` ou `commit`.
+3. *ignored*, un fichier qui est explicitement ignoré par git.
+
+## Quels fichiers ignorer
+
+On ignore typiquement:
+
+* Les fichiers binaires: exécutables, images, ...
+* Les produits de compilation: `*.o`, `*.pyc`, ...
+* Les produits d'exécutions: logs, ...
+* Les fichiers de configuration d'un IDE: .vscode, ...
+* Les fichiers système.
+
+## Comment ignorer des fichiers?
+
+* Créer un fichier texte nommé `.gitignore`.
+* L'ajouter au répo git et le "commit".
+* Y ajouter les règles à suivre pour ingorer les fichiers.
+
+Exemple: [^1]
+
+```bash
+biden      # ignore le fichier biden
+*.o        # ignore tous les fichier `.o`
+!trump.o   # mais PAS trump.o
+sanders    # ignore le répertoire sanders
+**/sanders # ignore tous les répertoires sanders
+```
+
+[^1]: Pour une liste plus exhaustive voir le site <https://bit.ly/2HTZJyQ> par exemple.
+
+## Bibliographie
+
+Ces quelques slides sont inspirés du site <https://bit.ly/2HTZJyQ>.
\ No newline at end of file