web-dev-qa-db-fra.com

Avoir une branche privée d'un repo public sur GitHub?

J'ai un projet public PHP dans un dépôt GitHub, qui ne contient qu'une seule branche (maître).

Je souhaite avoir une branche/branche distincte qui est privée pour moi (j'ai payé pour des pensions GitHub privées). J'aimerais pouvoir fusionner les modifications de la branche privée/fork vers le référentiel public, et inversement.

Dans cet esprit, voici mes questions:

  1. Puis-je avoir une succursale privée sur un dépôt public?
  2. Puis-je insérer mon propre dépôt public dans ma propre agence/branche privée?
  3. Si les deux options sont possibles, quelle est la meilleure voie à suivre? Si non, comment dois-je procéder?
96
Lizard

Est-il possible d'avoir une succursale privée sur un dépôt public?

Sur GitHub, votre référentiel est public ou privé. vous ne pouvez pas sélectivement "privatiser" juste une branche.

Puis-je insérer mon propre dépôt public dans ma propre branche/branche privée?

Vous pouvez cloner votre référentiel public sur votre machine locale, branchez au besoin, et simplement ne pas pousser vos branches "privées" en amont (en spécifiant qui branchez-vous à Push to Origin: 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 vos développements publics et privés, je vous suggérerais de modifier votre branche publique au sein de GitHub, de modifier les paramètres du nouveau fork en "Private", puis de cloner la version privée sur votre ordinateur local. Lorsque vous êtes prêt à rendre publiques les modifications, transférez tout vers votre fourche privée sur GitHub, puis utilisez des requêtes d'extraction pour copier de manière sélective des branches dans le dépôt public.

Pour rendre un référentiel privé sur GitHub, vous devez disposer d'un compte (payant) mis à niveau. Si vous ne faites que basculer le compte gratuit, vous pouvez toujours utiliser le premier processus que j'ai suggéré - cloner public sur une machine locale, une branche et des branches "publiques" spécifiques vers Origin - sans avoir besoin d'un repo privée.

Si vous avez un compte GitHub payant ou utilisez un autre service proposant des forks et des demandes d'extraction publics et privés (tels que BitBucket ), vous pouvez utiliser l'une des approches ci-dessus pour rendre votre code public.

  1. Dupliquez votre repo .
  2. Faites en sorte que le repo dupliqué devienne privé sur GitHub.
  3. Cloner le repo privé sur votre machine
  4. Ajouter une télécommande à votre référentiel public (ajouter [email protected]: ...)
  5. Poussez les branches avec des validations destinées à votre pension publique vers cette nouvelle télécommande publique. (assurez-vous de ne pas commettre accidentellement du code privé uniquement)
  6. Vous pouvez apporter des modifications à votre référentiel public à l'aide de 'git fetch public', puis les fusionner localement et les transférer vers votre référentiel privé (télécommande distante).
41
mj1531

1.) Est-il possible d'avoir une succursale privée sur un dépôt public?

D'après ce que je sais, non.

2.) Puis-je insérer ma propre pension dans ma propre succursale?

Non, vous ne pouvez pas créer un rapport complet (1 à n branches) dans une seule branche. Eh bien, en fait, vous pourriez le faire si vous divisez la branche du dépôt complet. Ajoutez-le simplement comme télécommande ou démarrez à partir d'un clone.

Vous pourriez également être intéressé par caisses clairsemées .

3.) Si les deux précédents sont possibles, quelle est la meilleure voie à suivre?

n/a

4.) Si aucune n'est possible, comment dois-je procéder?

n/a

1
hakre