2016-12-19 4 views
2

J'essaie de trouver le moyen le plus propre de composer un dépôt public à partir d'un sous-ensemble d'un dépôt privé (ou de composer le privé comme une union avec la partie publique) et toujours les fichiers partagés être mis à jour en tandem. À titre d'exemple, dire que j'ai ces deux fichiers:Git pour un projet avec des parties publiques et privées qui se chevauchent

  • public_file
  • private_file

Un utilisateur final doit pouvoir tirer seulement public_file, mais mainteneurs devrait être en mesure de modifier à la fois public_file et private_file . Quel idiome git serait adapté à ce type de disposition de contrôle d'accès?

+0

Si vous voulez seulement que les mainteneurs modifient les fichiers dans un rapport privé, ils peuvent utiliser 'git remote add ' puis valider et pousser les changements. les autres utilisateurs finaux ne travaillent que pour les pensions publiques. Je ne suis pas sûr que ce soit votre exigence. –

Répondre

1

Pour un seul fichier, vous utiliseriez un smudge content filter driver qui générerait (automatiquement sur git checkout) le fichier privé d'un fichier de valeur externe et un fichier de modèle versionné.

Pour une collection de fichiers, vous utiliseriez un git submodule, qui enregistrerait les fichiers publics dans un dossier imbriqué en tant que dépôt git imbriqué du principal parent: le dépôt privé.