Le fichier .gitignore
Ce qu'on ne versionne pas (compilé, dépendances, secrets, fichiers d'éditeur) et la syntaxe des motifs de .gitignore : étoile, barre oblique, double étoile, point d'exclamation, et le cas d'un fichier déjà suivi.
- 20 cartes
- 5 thèmes
- Gratuit
Le programme, thème par thème
Le poids de chaque thème suit celui que lui donne l'examen.
- Notions
- Questions
- Ranger et relier
- Mises en situation
- Comprendre
Quelques cartes du deck
Fichier .gitignore : de quoi s'agit-il ?
Voir la réponse
Fichier texte, versionné avec le projet, qui liste des motifs de noms que Git doit laisser non suivis.
Il n'a d'effet que sur les fichiers pas encore suivis. Comme il est versionné, toute l'équipe partage les mêmes règles.
.gitignore contient
*.class,/build/et!Main.class. Quelle affirmation est juste ?src/Main.classn'est pas ignoré,build/Main.classl'estbuild/Main.classn'est plus ignoré à cause de!Main.classsrc/Main.classest ignoré, un!ne vaut qu'à la racine- Aucun
.classn'est ignoré, le!annule*.class
Voir la réponse
src/Main.classn'est pas ignoré,build/Main.classl'est!Main.classré-inclut les fichiers Main.class en dehors de build. Mais dansbuild/, c'est le dossier entier qui est ignoré, et Git ne descend pas dedans : rien ne peut y être ré-inclus.Les fichiers que le projet peut …, comme les binaires compilés ou les dépendances téléchargées, ne se versionnent pas.
Voir la réponse
Les fichiers que le projet peut régénérer, comme les binaires compilés ou les dépendances téléchargées, ne se versionnent pas.
Ils alourdissent le dépôt et créent des conflits à chaque compilation. Le code source et le fichier de dépendances suffisent à les reproduire.
Motif avec une étoile (*) : de quoi s'agit-il ?
Voir la réponse
Remplace n'importe quelle suite de caractères dans un nom de fichier, sans jamais traverser un séparateur de dossier.
*.class ignore tous les fichiers .class, mais docs/*.pdf n'atteint que les fichiers directement dans docs, pas ceux des sous-dossiers.
Tu ajoutes
.envau .gitignore, maisgit statusle montre encore comme modifié. Que fais-tu pour qu'il soit enfin ignoré, en le gardant sur ton disque ?git rm .envpuis un commitgit add .gitignorepuis un commitgit restore .envpour qu'il redevienne non suivigit rm --cached .envpuis un commit
Voir la réponse
git rm --cached .envpuis un commitUn .gitignore ne concerne que les fichiers non suivis ;
.envétait déjà suivi.--cachedle retire de l'index sans l'effacer, alors quegit rm .envl'effacerait aussi du disque, et valider le .gitignore ne change rien à un fichier suivi. Attention : son contenu reste dans l'historique, donc un secret doit être changé.