51 votes

Comment partager des fichiers sur des référentiels git?

J'ai plusieurs applications sur différents sous-domaines sur différents serveurs. Chaque application a son propre référentiel git. Chaque application utilise plusieurs fichiers partagés. Essentiellement, mes pensions se chevauchent. Comment cette situation est-elle mieux gérée avec plusieurs éditeurs de plusieurs projets?

15voto

mckeed Points 6200

Je voudrais essayer de faire toutes les parties qui se chevauchent git sous-modules .

8voto

Pete Points 21

Aussi longtemps que les multiples projets sont en train de pousser leurs modifications pour les sous-module jusqu'à l'emplacement partagé, ouais, ils ont tous fait des changements à la ressource partagée. Cela dit, si l'un d'eux doit leur être "spécial" ils ont de la direction générale de la sous-module.

http://book.git-scm.com/5_submodules.html

Ce guide vous par le biais d'un super projet avec submodules, la modification d'un sous-module de l'intérieur de la super projet et en le poussant vers le haut. Il montre également l'un danger qui est silencieusement d'écraser les modifications si vous exécutez un git submodule update et vous avez eu locales unpushed modifications sur la branche master.

Plus précisément, quelque part, vous avez un dossier partagé "dossier" - vous aurez besoin d'enlever cela de tous les projets git, mais de créer un nouveau repo git quelque part avec le contenu actuel comme la première validation. Ensuite, vous serez en git submodule <repo> folder; git submodule update dans tous les projets qui seront désormais partager. Ils vont tous être en mesure de pousser les modifications jusqu'à la partagé repo, et sera en mesure de tirer vers le bas les uns des autres changements.

6voto

Peter Points 38320

Il semble que vous deviez partitionner les éléments communs de manière à établir une distinction claire, puis à utiliser des sous-modules. Assurez-vous de séparer clairement les éléments communs, sinon vous risquez de vous retrouver avec un gâchis incontrôlable.

3voto

jimiyash Points 1409

Pourquoi ne pas utiliser de simples liens symboliques? De cette façon, vous pouvez simplement mettre à jour un référentiel git et les autres applications seront mises à jour automatiquement.

ln -s sourcefolder destinationfolder

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X