Quelles sont les différences entre les deux .gitignore et .gitkeep?
Quelles sont les différences entre .gitignore
et .gitkeep
? Sont-ils la même chose avec un nom différent, ou ils servent tous les deux une fonction différente? Je ne semble pas être en mesure de trouver beaucoup de documentation sur .gitkeep
.
Vous devez vous connecter pour publier un commentaire.
.gitkeep
n'est pas documenté, parce que ce n'est pas une caractéristique de Git.Git ne peut pas ajouter de vider complètement le répertoire. Les gens qui veulent suivre les répertoires vides dans Git ont créé la convention de mettre des fichiers appelés
.gitkeep
dans ces répertoires. Le fichier peut être appelé n'importe quoi; Git attribue pas de signification particulière de ce nom.Il y a une concurrence de convention de l'ajout d'un
.gitignore
fichier pour les répertoires vides pour obtenir leur suivi, mais certaines personnes voient cela comme source de confusion car le but est de garder les répertoires vides, de ne pas les ignorer;.gitignore
est également utilisé pour la liste des fichiers qui doivent être ignorés par Git lorsque vous cherchez sans traces de fichiers.README
fichier dans le vide sous-répertoire qui contient un peu d'informations sur ce sous-répertoire est destiné à être utilisé pour? Il semble confus pour avoir un fichier appelé.gitkeep
qui ne fait pas partie de git..gitignore
fichier avec deux lignes:*
et!.gitignore
est plus que suffisamment de clarté pour transmettre ce qui se passe. Si une élaboration plus poussée est nécessaire, ajouter un commentaire au début du fichier, à l'aide de la#
de la syntaxe.README
fichier est la meilleure solution pour faire de git pour le suivi des dossiers vides..keep
fichiers au lieu de les.gitkeep
pour conserver ces dossiers vides, depuis git n'est pas la seule source de système de contrôle qui ne fait pas le suivi des dossiers vides. Plus de détails ici: github.com/rails/rails/issues/2800.empty
. Je suppose que ça a plus de sens, au moins pour moi..gitignore
est source de confusion. Bien au contraire, cela signifie que vous souhaitez conserver le dossier ET d'en ignorer le contenu..gitkeep
n'empêche pas la gestion des versions jetables fichiers par accident..gitkeep
plus de sens que.gitignore
, puisque vous n'êtes pas ignorant rien, vous êtes juste de garder le dossier. Toutefois, si le dossier est jamais va avoir suivi des fichiers, un.gitignore
ignorer ces fichiers fait le plus de sens..keep
est aussi un cadre plus général de fichier vide, non spécifique à git. J'utilise ça et de voir autour de nous..gitkeep
sont moyen simple et efficace pour suivre les répertoires vides.files
devrait être préféré à des fichiers lisez-moi..gitkeep
fichiers. Vous pouvez le trouver ici: pypi.org/project/gitkeep2. Vous pouvez simplement l'installer en exécutantpip3 install gitkeep2
et ensuite l'utiliser en exécutantgitkeep path/to/foo
. Il prend en charge recursivenes et en ajoutant des messages à la.gitkeep
fichiers afin de les rendre auto-documenté..gitkeep
en contraste avec quelque chose de différent, comme un fichier README.md (nous savons déjà plaine README causes de l'automatisation des questions)?.gitkeep
est juste un espace réservé. Un fichier fictif, donc, git va pas oublier le répertoire, depuis git pistes uniquement les fichiers.Si vous voulez un vide dir et assurez-vous qu'il reste "propre" pour git, créer un
.gitignore
contenant les lignes suivantes à l'intérieur:Si vous désirez avoir un seul type de fichiers visibles pour git, voici un exemple de comment filtrer tout, sauf .gitignore et tous les
.txt
fichiers:('#' indique commentaires.)
!
en face de.gitignore
? C'est que, pour échapper à la dot ?!
nie la partie suivante, comme il le fait habituellement dans la programmation.!.gitignore
dans un git d'ignorer des fichiers, ajouter le fichier, puis de le modifier, ou la force de l'ajouter avec le contenu approprié ("*" de tout ignorer, ou rien de tout simplement faire en sorte que le dossier existe) exemple.Since the git ignore file is already in the repo it is not necessary to not-ignore it - it is already tracked.
------ Si elle n'est pas, et vous ne le faites pas, un puissant ajouter, vous pouvez l'oublier. Dans les cas triviaux, pas de problème, mais si c'est un gros fichier, vous pourriez être en colère. À l'aide de!.gitignore
vous empêche de se tirer une balle dans le pied. Je la préfère, avoir brûlé moi-même dans le passé.(..)A dummy file, so git will not forget about the directory, since git tracks only files.(..)
bien.. dans le monde de Linux tout est un fichier. Et laissez-n'oubliez pas que git a été créé par le gars qui a créer Linux en premier lieu..gitkeep
magasin de fichier texte expliquant pourquoi ce répertoire est important de garder le contrôle de code source. J'ai écrit un petit utilitaire qui permet de créer les auto-documenté.gitkeep
fichiers très facilement —par exemplegitkeep path/to/foo -m "This is where we'll later add X stuff."
vous pouvez l'installer avecpip3 install gitkeep2
et de le trouver à l'adresse pypi.org/project/gitkeep2est un fichier texte qui comporte une liste de fichiers dans votre répertoire git va ignorer ou ne pas ajouter/mettre à jour dans le référentiel.
Depuis git supprime ou ne pas ajouter les répertoires vides pour les pensions de titres .gitkeep est une sorte de hack (je ne pense pas que c'est officiellement nommé comme une partie de git) pour garder les répertoires vides dans le repo.
il suffit de faire une
touch /path/to/emptydirectory/.gitkeep
ajouter le fichier et git va maintenant être en mesure de maintenir ce répertoire dans le référentiel..gitignore
s que vous voulez, si vous ne voulez pas spécifier le chemin complet de chaque dossier à chaque fois..gitkeep
fichier mais il ne suivra pas les répertoires vides, Seul le dossier de la piste où.gitkeep
fichier existe. pourquoi donc ?