Dans cet article – puisqu’il n’y a pas que les bases de données dans la vie – nous allons voir comment sélectionner précisément les fichiers que nous souhaitons versionner. En bonus, nous réviserons un minimum de commandes utiles avec Git. Même si vous ne faites pas de développement, nous vous conseillons vivement de mettre votre dossier de documents sous Git : une erreur est vite arrivée et cela peut vous éviter de perdre des heures de travail.
Comme exemple, nous utiliserons le dépôt d’un projet de développement logiciel. Il contient un mélange de fichiers textes, de fichiers de configuration et de sources compressées. Comme c’est y répertoire de travail, on y trouve également des fichiers temporaires et d’autres cachés. Les commandes sont données pour Linux mais il existe des versions pour MS Windows, la plus connue était TortoiseGit.
Donc, nous allons créer un fichier « .gitignore » dans notre répertoire de travail et y écrire les directives d’exclusion. C’est plus simple à faire qu’à dire, profitons-en.
En premier lieu, initialiser le dépôt :
git init Dépôt Git vide initialisé dans /dossier//WORK_DIR/.git/
Sans autre action, Git surveillera ces fichiers :
$ git status .hidden_file1 .hidden_file2 .~fichiertemporaire.doc# archive1.tar.gz archive2.tar.gz archive3.zip archive4.zip archive5.zip document1.doc exemple1.exemple exemple2.exemple file1.yml file2.yml file3.yml file4.yml file5.yml file6.yml image1.jpg image2.png script.sh texte1.txt texte2.txt texte3.txt
Comme vous pouvez le voir, les archives pèsent plus de 100 Mo et ne seront jamais modifiées. Il est impensable de les sauvegarder à chaque fois.
Donc nous allons ouvrir un fichier appelé « .gitignore » et y inscrire ces quelques lignes :
# archives ignore list *.tgz *.zip *.gz #ignore hidden file .* # mais pas ce fichier car utile !.gitignore
Cette fois, « git status » ne contient seulement ce que nous voulons :
.gitignore document1.doc exemple1.exemple exemple2.exemple file1.yml file2.yml file3.yml file4.yml file5.yml file6.yml image1.jpg image2.png script.sh texte1.txt texte2.txt texte3.txt
Pour aller au bout de l’exemple, voici les quelques commandes pour que votre dépôt soit utile :
- « git add . » : ajoutera tous les fichiers listés ci-dessous dans la liste des fichiers versionnés.
- « git commit -a » : valide le changement. Vous devrez obligatoirement mettre un commentaire, même succin, sinon Git vous bloquera. Il est conçu pour travailler à plusieurs et les commentaires sont à la base d’un bon travail d’équipe.
- « git checkout nom_du_fichier » : restaurer nom_du_fichier depuis le dépôt, si par malheur vous l’avez détruit dans votre répertoire principal. C’est vraiment aussi simple que ça.
- « git push » : envoie les changements locaux vers un dépôt distant. Plus d’informations ici car cela sort de notre objectif mais c’est une précaution demandant un faible investissement et pouvant vous sauver la mise. Faites-vous ce cadeau : vous le méritez !
Bien sûr, ces commandes (add, commit, push… ) gagneront à être placées dans un script, lui-même planifié tous les jours.
Ainsi, vous pourrez travailler en sécurité sans même y penser.
Des problèmes ? des questions ? Exprimez-vous ! Les commentaires sont ouverts. Coquilles et fautes de grammaires sont notre lot quotidien : signalez-les nous à m.capello@dbsqware.com