Est-il possible d'avoir une succursale privée sur un repo public?
Sur GitHub, votre référentiel est public ou privé; vous ne pouvez pas "privatiser" de manière sélective une seule succursale.
Puis-je convertir mon propre dépôt public dans ma propre branche / branche privée?
Vous pouvez cloner votre dépôt public sur votre machine locale, créer une branche si nécessaire, et simplement ne pas pousser vos branches "privées" en amont (en spécifiant quelle branche pousser vers l'origine: git push origin master
ou git push origin branch-i-want-to-be-public:master
).
Quelle est la meilleure voie à suivre / comment dois-je procéder?
Afin de tirer parti de GitHub pour votre développement public et privé, je suggérerais de forger votre branche publique dans GitHub, de changer les paramètres du nouveau fork sur "Private", puis de cloner la version privée sur votre machine locale. Lorsque vous êtes prêt à rendre les modifications publiques, transférez tout jusqu'à votre fork privé sur GitHub, puis utilisez des pull requests pour copier sélectivement les branches dans le référentiel public.
Pour rendre un référentiel privé sur GitHub, vous devez disposer d'un compte mis à niveau (payant) . Si vous ne faites que basculer le compte gratuit, vous pouvez toujours utiliser le premier processus que j'ai suggéré - cloner public vers la machine locale, branche et pousser des branches "publiques" spécifiques à l'origine - sans avoir besoin d'un dépôt privé.
Si vous avez un compte GitHub payant ou si vous utilisez un autre service qui propose des fourchettes publiques et privées et des pull requests (tel que BitBucket ), vous pouvez utiliser l'une des approches ci-dessus pour rendre votre code public.