9
votes

Plusieurs référentiels git dans un répertoire

J'aimerais déployer un répertoire à plusieurs développeurs ayant des autorisations différentes. C'est donc une chose que git ne peut pas faire. Qu'en est-il de créer deux référentiels dans un répertoire et de leur attribuer différentes listes de fichiers en excluant les fichiers gérés par l'autre référentiel avec le fichier .gitignore .

Exemple: /www/project/.git pour tous les fichiers sauf dans / www / projet / csss /www/project/css/.git -> Seuls les fichiers de ce répertoire

Quelqu'un a-t-il essayé cette solution? Ou existe-t-il de meilleurs moyens de gérer ce problème?


1 commentaires

3 Réponses :


0
votes

Je suppose que vous serez beaucoup mieux pour perfectionner vos développeurs pour les comimités dans les deux référentiels. Voir aussi ce Question de défaut de serveur .


1 commentaires

Je ne veux pas permettre l'accès. Designers et personnes SMS ne devraient pas être en mesure de télécharger le code entier. Le deuxième problème est que j'aimerais utiliser GitHub et non un propre serveur pour la manipulation des référentiels, car GitHub est beaucoup plus sans tracas.



2
votes

On dirait que vous voulez des sous-modules. Tous les sous-répertoires du représentant principal peuvent être des sous-modules qui sont différents référentiels GIT.

https://book.git-scm.com / Book / FR / V2 / GIT-TOOLS-SUBMODULES

http://git-scm.com/docs/git-submodule


0 commentaires

4
votes

une approche moins gênante que celle des sous-modules git (qui sont une douleur à utiliser) est gitslave gitslave crée un groupe des référentiels connexes - un référentiel de superproject et un certain nombre de référentiels d'esclaves - tous développés simultanément sur et sur lesquels toutes les opérations GIT doivent normalement fonctionner; Ainsi, lorsque vous branchez, chaque référentiel du projet est ramifié à son tour. De même lorsque vous vous engagez, poussez, tirez, fusionnez, étiquette, caisse, statut, journal, etc. Chaque commande GIT fonctionnera sur le SuperProject et tous les référentiels esclaves à leur tour. Ce type d'activité peut être très familier pour les CV et (dans une moindre mesure) des utilisateurs de subversion. Le design de Gitslave est destiné à simplifier les opérations de git normales.

Je vais également vous diriger vers etcskeeper qui suit les autorisations. Il a ses propres particularités qui peuvent ne pas être utilisables pour vous.

Enfin, je vais noter que vous pouvez avoir un script custome post-checkout qui définit les autorisations appropriées sur les fichiers / répertoires appropriés.


0 commentaires