Pour répondre à la question: si vous souhaitez exclure certains fichiers d'une extraction, vous pouvez utiliser l' extraction partielle
1) Dans .git/info/sparse-checkout
, définissez ce que vous souhaitez conserver. Ici, nous voulons tout (*) mais (notez le point d'exclamation) config.php:
/*
!/config.php
2) Dites à git que vous voulez prendre en compte le paiement partiel
git config core.sparseCheckout true
3) Si vous avez déjà ce fichier localement, faites ce que fait git sur une extraction éparse (dites-lui qu'il doit exclure ce fichier en définissant le drapeau "skip-worktree" dessus)
git update-index --skip-worktree config.php
4) Profitez d'un référentiel où votre fichier config.php est le vôtre - quels que soient les changements sur le référentiel.
Veuillez noter que les valeurs de configuration NE DOIVENT PAS être dans le contrôle de code source:
- C'est une faille de sécurité potentielle
- Cela pose des problèmes comme celui-ci pour le déploiement
Cela signifie que vous DEVEZ les exclure (les mettre dans .gitignore avant la première validation), et créer le fichier approprié sur chaque instance où vous extrayez votre application (en copiant et en adaptant un fichier "modèle")
Notez qu'une fois qu'un fichier est pris en charge par git, .gitignore n'aura aucun effet.
Étant donné que, une fois le fichier sous contrôle de code source, vous n'avez que deux choix (): - rebaser tout votre historique pour supprimer le fichier (avec git filter-branch
) - créer un commit qui supprime le fichier. C'est comme mener une bataille perdue, mais, eh bien, il faut parfois vivre avec ça.
config.php
validés?