Question Quelles sont les différences entre .gitignore et .gitkeep?


Quelles sont les différences entre .gitignore et .gitkeep? Sont-ils la même chose avec un nom différent, ou sont-ils tous les deux une fonction différente? Je ne semble pas être en mesure de trouver beaucoup de documentation sur .gitkeep.


1429
2017-08-29 12:11


origine


Réponses:


.gitkeep n'est pas documenté, car ce n'est pas une caractéristique de Git.

Git Impossible d'ajouter un répertoire complètement vide. Les gens qui veulent suivre les répertoires vides dans Git ont créé la convention de mise en fichiers appelés .gitkeep dans ces répertoires. Le fichier pourrait s'appeler n'importe quoi; Git n'attribue aucune signification particulière à ce nom.

Il y a une convention concurrente d'ajouter un .gitignore déposer dans les répertoires vides pour les faire suivre, mais certaines personnes voient cela comme déroutant puisque le but est de garder les répertoires vides, pas les ignorer; .gitignore est également utilisé pour lister les fichiers qui devraient être ignorés par Git lors de la recherche de fichiers non suivis.


2609
2017-08-29 12:20



.gitkeep est juste un espace réservé. Un fichier fictif, donc git n'oubliera pas le répertoire, puisque git ne suit que les fichiers.


Si vous voulez un répertoire vide et assurez-vous qu'il reste "propre" pour git, créez un .gitignore contenant les lignes suivantes à l'intérieur:

# .gitignore sample 
###################

# ignore all files in this dir...
*

# ... except for this one.
!.gitignore

Si vous désirez avoir seulement un type de fichiers visible pour git, voici un exemple de comment filtrer tout, sauf .gitignore et tout .txt des dossiers:

# .gitignore to keep just .txt files
###################################

# filter everything...
*

# ... except the .gitignore...
!.gitignore

# ... and all text files.
!*.txt

('#' indique les commentaires.)


220
2017-07-20 13:02



.gitignore

est un fichier texte comprenant une liste de fichiers dans votre répertoire que git ignorera ou pas ajouter / mettre à jour dans le référentiel.

.gitkeep

Puisque git supprime ou n'ajoute pas de répertoires vides à un repo .gitkeep est une sorte de piratage (je ne pense pas qu'il soit officiellement nommé dans le cadre de git) pour garder les répertoires vides dans le repo.

juste faire un touch /path/to/emptydirectory/.gitkeep pour ajouter le fichier et git sera maintenant en mesure de maintenir ce répertoire dans le référentiel.


98
2017-08-29 12:21