Il est très fréquent d'avoir au moins un fichier de configuration dans n'importe quel projet. Chaque fois que je la partage du projet avec git
, j'ai le même problème avec:
- des informations sensibles (à chaque développeur d'avoir différentes DB mots de passe, etc)
- la tâche spécifique de l'information (lorsque le développeur travaille sur certaines tâches où l'on doit changer certains paramètres)
Évidemment, les configs doivent être ignorés en quelque sorte à empêcher les développeurs de données spécifiques à l'inondation de dépôt principal. Maintenant, il y a plusieurs façons j'ai l'habitude d'utiliser, chacune avec quelques défauts:
-
.gitignore
les fichiers de configuration- la façon la plus simple
- lorsque développeur clones repo, config fichier est manquant et on doit trouver où les configs ont été les recréer
- fichier config n'est pas ignoré. Il contient quelques mannequin info et chaque développeur untracks et le met à son
.git/info/exclude
ou un ensemblegit update-index --assume-unchanged ...
le fichier- les fichiers sont disponibles pour n'importe qui qui des clones repo
- il contient des avancées techniques qui pourraient confondre les gens qui travaillent avec git pour la première fois
- quand quelqu'un commet des fichiers de configuration par accident, il ne sera pas permettre à des personnes à tirer/fetch (exclut ne fonctionnent pas de la même façon que
.gitignore
)
- distribuer des fichiers de configuration suffixé avec, par exemple,
_original
, tout en ayant les fichiers réels, en.gitignore
. Chaque développeur puis renomme les fichiers de vrais noms- les fichiers sont disponibles pour n'importe qui qui des clones repo
- l'un est à la recherche pour toutes les configs tout au long de l'application et de les renommer
Existe-il des autres, peut-être, de meilleures façons de gérer cela? Je pense que je suis absent quelque chose, certains plugin au moins.