2011-10-28 14 views
3

J'ai un ensemble de fichiers de base que j'utilise pour presque tous les projets, mais chaque projet a aussi ses propres fichiers uniques. Lorsque je travaille sur un projet, je mets parfois à jour ces fichiers de base, jusqu'à présent, j'ai copié les fichiers dans le dossier des fichiers de base du maître (que je copie chaque fois que je démarre un nouveau projet). Aussi lorsque vous travaillez sur un couple de projets à la fois, je mai besoin de copier un changement de fichier de base à la fois le dossier maître et l'autre projet qui prend du temps et peut être difficile à suivre!travailler avec GIT et plusieurs projets

J'ai récemment trouvé GIT et j'espère pouvoir résoudre tout ou au moins certains de mes problèmes ...

Alors je reçois maintenant avec le dossier maître que je peux faire bifurque pour aider à gérer mon mises à jour de base mieux et ensuite les fusionner de retour lorsqu'il est perfectionné au maître. Mais est-ce que quelqu'un peut m'aider à gérer mes projets multiples et à synchroniser tous les fichiers de base entre le maître et les projets sans copier tous les fichiers du dossier du projet? Est-ce que je peux séparer une branche en un nouveau repo tout en enregistrant les changements avant et arrière?

Des conseils, des conseils, des guides ou des liens sont appréciés!

+0

tout le monde merci Ok. Donc, je pourrais repos individuel pour chaque projet qui partagent des sous-modules avec le «core» repo? Donc, quand un sous-module change sur l'un des référentiels, je peux repasser ces changements dans n'importe quel autre rapport que j'aime? 'Push' pourrait ne pas être la terminologie correcte là-bas .. encore en train d'apprendre ça! – fiscme

Répondre

4

Une possibilité est que vous mettez vos routines de base dans un référentiel appelé "core" ou quelque chose comme ça, puis ajoutez cela comme un submodule à tous vos autres projets.

+1

Bonjour, le lien est cassé. Nouveau lien: [sous-modules] (http://git-scm.com/book/fr/v2/Git-Tools-Submodules) – JobaDiniz

1

branches dans git ne sont probablement pas la meilleure solution pour votre problème, mais sont sous-modules! mais vous avez besoin d'un référentiel pour chaque projet, plus un référentiel pour vos fichiers/bibliothèques principaux.

0

hmm ... difficile peut-être utiliser un lien symbolique?

Pourriez-vous modifier la structure dans laquelle ces éléments partagés se trouvent dans un référentiel partagé et qui est extrait par lui-même. De cette façon, vous avez idéalement 3 repos pour 2 projets par exemple.

1 maître 2 branche 3 partagé

L'utilisation d'un MVC aide toujours cela à gitgo ..;)

+0

yarp, sous-modules! – hookedonit

+0

symlink peut ne pas être une bonne idée surtout quand vous avez un utilisateur avec Windows qui ne le supporte pas. –