Vous ne pouvez pas se contenter d'ignorer les changements en particulier les lignes d'un fichier, j'ai peur, alors vous êtes probablement coincé avec le fait d'avoir un fichier de configuration séparé. Ci-dessous je ai énuméré les deux façons classiques de traiter avec cela, et un peu plus exotique:
Un exemple de fichier de configuration de git
Ici, vous devez garder un fichier config.sample
dans git comme un exemple, mais l'application serait en fait d'utiliser les valeurs dans un fichier config
qui est en .gitignore
. L'application serait alors produire une erreur à moins d' config
est présent. Vous devez vous rappeler de changer les valeurs dans le fichier d'exemple, lorsque vous ajoutez de nouvelles variables de configuration de votre personnel config
le fichier. Dans ce cas, il est aussi une bonne idée d'avoir votre demande de vérifier que toutes les variables de configuration sont fixées, au cas où quelqu'un a oublié de mettre à jour leur config
le fichier après modification pour l'échantillon.
Disposer d'un fichier de valeurs par défaut dans git
Vous gardez le fichier config.defaults
dans git, qui est sensible valeurs de configuration par défaut aussi loin que possible. Votre demande de première configuration de sources de config.defaults
puis de config
(en .gitignore
) pour éventuellement remplacer toutes les valeurs par défaut. Avec cette méthode, généralement vous ne voudriez pas faire une erreur pour config
n'existe pas, de sorte que l'application fonctionne hors de la boîte pour les gens qui n'ont pas pris la peine de créer config
.
À l'aide d'un unique fichier de configuration --assume-inchangé
Une troisième possibilité, qui je ne vous le recommande pas, dans ce cas, personnellement, serait d'avoir un fichier de configuration unique qui s'est engagé dans git, mais de les utiliser git update-index --assume-unchanged <FILE>
, pour indiquer à git d'ignorer les changements. (Ceci est décrit plus loin dans ce blog.) Cela signifie que vos modifications locales dans le fichier de configuration ne sera pas validée avec git commit -a
ou se présenter en git status
.