Je viens de créer un référentiel Github et je me demandais à quoi servait le fichier .gitignore
. J'ai commencé par ne pas en créer un, mais en ai ajouté un en raison du fait que la plupart des référentiels en ont un ... Est-ce que je dois en avoir un? Puis-je/dois-je simplement l'ignorer, ou a-t-il une utilisation? J'ai fait des recherches sur le sujet mais je n'ai pas pu trouver d'explication concrète.
.gitignore
indique à git quels fichiers (ou patterns) il doit ignorer. Il est généralement utilisé pour éviter de valider des fichiers transitoires de votre répertoire de travail qui ne sont pas utiles pour d'autres collaborateurs, tels que des produits de compilation, des fichiers temporaires créés par des IDE, etc.
Vous pouvez trouver les détails complets ici .
C'est une liste de fichiers que git doit ignorer dans votre répertoire de travail.
Supposons que vous soyez sur un Mac et que vous avez des fichiers .DS_Store dans tous vos répertoires. Vous voulez que git les ignore, donc vous ajoutez .DS_Store en tant que ligne dans .gitignore. Etc.
Les documents git vous diront tout ce que vous devez savoir: http://git-scm.com/docs/gitignore
Lorsque vous effectuez une validation, vous ne souhaitez pas inclure accidentellement des fichiers temporaires ou créer des dossiers spécifiques. Par conséquent, utilisez un .gitignore
qui répertorie les éléments que vous souhaitez ignorer lors de la validation.
En outre, il est important de noter que git status
est l’une des commandes les plus fréquemment utilisées pour laquelle vous souhaitez que git status
répertorie les fichiers modifiés.
Vous voudriez que votre liste git status
paraisse propre à partir de fichiers indésirables. Par exemple, j'ai modifié a.cpp, b.cpp, c.cpp, d.cpp & e.cpp
Je souhaite que mon git status
répertorie les éléments suivants:
git status
a.cpp
b.cpp
c.cpp
d.cpp
e.cpp
Je ne veux pas que git status
répertorie les fichiers modifiés comme celui-ci avec les fichiers d'objet intermédiaires et les fichiers du dossier de construction
git status
a.cpp
b.cpp
c.cpp
d.cpp
e.cpp
.DS_Store
/build/program.o
/build/program.cmake
Par conséquent, pour me libérer de git status
afin d’énumérer ces fichiers temporaires intermédiaires et de les enregistrer accidentellement dans le dépôt, je devrais créer un .gitignore
que tout le monde fait. Tout ce que je dois faire est de lister les fichiers et dossiers dans le .gitignore
que je veux exclure de la validation.
Voici mon .gitignore
pour éviter de valider des fichiers inutiles
/*.cmake
/*.DS_Store
/.user
/build
Il y a des fichiers sur lesquels Git ne veut pas s'enregistrer. Git considère chaque fichier de votre copie de travail comme l'une des trois choses suivantes:
Les fichiers ignorés sont généralement des artefacts construits et des fichiers générés par une machine qui peuvent être dérivés de votre source de référentiel ou qui ne doivent pas autrement être validés. Voici quelques exemples courants:
/node_modules
ou /packages
.o
, .pyc
et .class
/bin
, /out
ou /target
.log
, .lock
ou .tmp
.DS_Store
ou Thumbs.db
.idea/workspace.xml
Les fichiers ignorés sont suivis dans un fichier spécial appelé .gitignore
qui est archivé à la racine de votre référentiel. Il n'y a pas de commande git ignore explicite: le fichier .gitignore
doit être édité et validé manuellement lorsque vous avez de nouveaux fichiers à ignorer. Les fichiers .gitignore
contiennent des modèles qui correspondent aux noms de fichier de votre référentiel afin de déterminer s'ils doivent ou non être ignorés. Voici un sample.gitignore
file . Pour plus de détails, regardez ce link
Ne faites pas confiance à vos secrets sur Internet
Github est sur internet. Si vous mettez votre code sur Internet (par exemple, sur Github), vous devez alors vous assurer que vous n’y mettez aucun élément compromettant, par exemple. mots de passe, ou des informations d'identification de sécurité, ou des secrets. Bien sûr, Github a la sécurité, mais que se passe-t-il si cette sécurité est compromise? Vous ne voulez pas compromettre toute la sécurité de votre application, simplement parce que la sécurité de Github est compromise. Quelle est alors la solution?
Demander à Git d'ignorer certains fichiers
Vous pouvez demander à git d’ignorer certains fichiers essentiels au fonctionnement de votre application (mots de passe ou secrets, par exemple). Ainsi, lorsque vous mettez votre code sur Internet, rien ne se passera, même si quelqu'un parvient à le voir. Et si vous travaillez sur un projet open source, là encore, il y a des choses que vous ne voulez tout simplement pas "vérifier dans git".
Tout ce qui se trouve dans le fichier .gitignore est alors ignoré par Git. C'est ce que tu veux!