web-dev-qa-db-fra.com

Est-il possible de transformer un référentiel GitHub public dans un référentiel d'entreprise?

Il existe un repo public pour Quick framework ici . J'aimerais pouvoir insérer cela dans un référentiel d'entreprise privée GitHub. La fourchette permettrait à toutes les branches de rester. 

l'alternative serait de cloner le repo et de ne placer qu'une seule branche dans l'entreprise, mais je perds alors de ne pas avoir toutes les branches de la source/de l'original. 

update: J'ai fini par pousser toutes mes branches dans l'entreprise git. si vous faites juste un git Poussez votreNomBreBranch dans votre brancheElément, alors il insérera le code dans cette branche du git d'entreprise tout en créant cette branche dans l'entreprise GitHub. 

36
j2emanue

Ce n'est pas possible, car votre installation Enterprise GitHub est distincte de la version publique. Par conséquent, les deux systèmes ne peuvent pas suivre les relations de leurs succursales respectives.

Le mieux que vous puissiez faire est exactement ce que vous décrivez: clonez le référentiel, puis transmettez-le à votre installation GHE et, oui, vous perdrez les relations de branchement d'un référentiel à l'autre.

L'autre option consisterait à garder une branche sur le dépôt GH public - éventuellement en le synchronisant (manuellement ou avec un cronjob) avec votre dépôt GHE. Ensuite, vous aurez deux instances de votre référentiel, et le référentiel public conservera des relations de branche avec le référentiel d'origine.

En fonction de la raison pour laquelle vous devez mettre ceci sur GHE, cela peut ne pas fonctionner. Si vous faites des contributions privées, cela ne fonctionnera clairement pas, car vos contributions privées ne le seraient plus. Si vous le souhaitez sur GHE en raison d'une politique d'entreprise selon laquelle tous les projets Open Source utilisés en interne sont conservés sur GHE, ou quelque chose de similaire, cela fonctionnerait, avec la surcharge administrative liée à la synchronisation du référentiel à deux endroits.

35
Flimzy

Bien qu'il ne soit pas possible de relier le GitHub public directement à votre installation d'entreprise, vous pouvez le créer sur le GitHub public, puis mettre en miroir ce référentiel créé sur votre installation d'entreprise.

Pas

  1. Créez un référentiel vide sur votre entreprise GitHub:

    curl https://github.yourenterprise.com/api/v3/user/repos \ -u "votreUsername"\ -d "{\" nom\": \" quel que soit le repository\", \" private\": true}"

  2. Créez un clone nu de votre fourche 

    git clone --bare https://github.com/publicGitHubUser/forked-repository.git

  3. Changez de répertoire pour être dans le dossier des clones nus:

    cd ./wther-repository.git/

  4. Poussez le référentiel avec l'indicateur "--mirror" sur votre entreprise GitHub

    git Push --mirror https://github.yourenterprise.com/enterpriseGitHubUser/forked-repository.git

Plus d'information

https://help.github.com/articles/duplicating-a-repository/

1
Pytry