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