Je suis ouvert à l'utilisation d'outils et de stratégies autour de git. Essentiellement, nous voulons exposer un sous-ensemble de branches sur un dépôt en lecture ou en lecture/écriture pour un ensemble d'utilisateurs. Un autre sous-ensemble de branches ne serait même pas connu de ces utilisateurs.
Réponse
Trop de publicités?Utilisez deux dépôts séparés, un public et un privé, et ne poussez pas les branches privées vers le dépôt public.
Vous pourriez utiliser un update
crochet dans le référentiel public pour refuser les poussées qui tentent de pousser ces branches privées, afin d'éviter de pousser accidentellement les branches privées vers le référentiel public. Vous pouvez également utiliser un pre-receive
hook si vous souhaitez bloquer l'ensemble du push si quelqu'un tente accidentellement de pousser une branche privée, au lieu de bloquer uniquement la création de cette branche.
Vous pouvez aussi simplement utiliser l'exemple update
dans le dépôt public (renommez-le de update.sample
a update
et assurez-vous qu'il est exécutable), et définissez l'onglet hooks.denycreatebranch
pour refuser la création de toute nouvelle branche dans le dépôt public, en l'autorisant uniquement à contenir des branches qui existent déjà ou qui sont créées localement dans ce dépôt.