2014-07-14 1 views
2

J'ai trois fichiers de configuration git. L'un est nommé .gitconfig et contient 90% de mes paramètres git. Les paramètres communs, indépendants de la plate-forme vont ici. L'autre est nommé .gitconfig-windows et contient des paramètres Windows uniquement pour Git (Notepad ++ comme mon éditeur, par exemple, qui n'existera pas sous Linux). J'ai aussi un .gitconfig-linux pour la plate-forme Linux, évidemment.Fichiers de configuration git spécifiques à la plate-forme

En ce moment je donne les résultats suivants en haut de mon dossier .gitconfig:

[include] 
    path = .gitconfig-windows 

Depuis que je travaille actuellement sur les fenêtres, cela signifie que mon .gitconfig comprendra tous les paramètres de .gitconfig-windows. Quand je suis sur Linux, je dois éditer mon fichier .gitconfig pour pointer vers le fichier .gitconfig-linux à la place. C'est assez fastidieux d'avoir à modifier mon .gitconfig chaque fois que je change de plateforme. J'ai tous les 3 de mes fichiers de configuration dans Dropbox pour une synchronisation facile entre toutes mes machines de travail (mélange d'environnements Windows et Ubuntu). Des recommandations sur comment configurer plus facilement Git pour utiliser les paramètres spécifiques à la plate-forme uniquement sur ces plates-formes?

+0

Cette question pourrait être trop large, je ne sais pas. Quoi qu'il en soit, je pensais que vous pourriez simplement mettre en place des liens symboliques dans votre répertoire personnel qui pointent vers vos fichiers Dropbox, puis avoir votre point 'include.path' à chaque lien symbolique. Je ne suis pas sûr de ce qui se passera quand Git trouvera des fichiers inexistants sur un chemin cependant. En outre, bien que Windows ait une implémentation de liens symboliques (en particulier Windows 7 et 8), je ne suis pas sûr qu'ils fonctionneront pour cela, bien que les liens symboliques de style Linux devraient certainement fonctionner. –

+0

Pourquoi ne conservez-vous pas les fichiers dans un dépôt git avec 3 branches: ** master ** ayant seulement le fichier '.gitconfig' commun, ** linux ** ayant' .gitconfig' avec l'include approprié et '.gitconfig -linux' et ** windows ** ayant '.gitconfig' avec l'include correct et' .gitconfig-windows'. Et bien sûr, lorsque vous avez besoin de mettre à jour le fichier de paramètres commun, vous fusionnez ces modifications dans les branches spécifiques à la plate-forme. –

+0

@CristianCiupitu Je pense que cela pourrait entraîner Voyage dans le temps. –

Répondre

1

Vous pouvez renommer votre fichier actuel .gitconfig à quelque chose comme .gitconfig-common, et modifier les fichiers spécifiques à la plate-forme pour l'inclure (au lieu de l'inverse). Puis, sur chaque machine sur laquelle vous travaillez, créez un fichier .gitconfigen dehors de de Dropbox qui ne fait rien d'autre que d'inclure le fichier spécifique à la plate-forme approprié dans votre Dropbox. Ainsi, sous Windows, par exemple, .gitconfig inclut .gitconfig-windows, qui inclut .gitconfig-common. Le fichier .gitconfig ne contient rien d'autre qu'une directive include spécifique à la plate-forme. Il n'est donc pas nécessaire de le synchroniser avec Dropbox.

+0

Ce qui est marrant, c'est que je faisais exactement ça pendant un moment, mais je les ai inversés parce que de nombreux outils ne savent pas lire "includes" dans les fichiers git config. Donc, il pensait que mon .gitconfig était pratiquement vide et me donnerait une tonne d'avertissements (GitExtensions est particulièrement mauvais à ce sujet). –

Questions connexes