it-swarm.com.de

Ist es möglich, ein öffentliches GitHub-Repo in ein Unternehmens-Repository zu unterteilen?

Es gibt ein öffentliches Repo für Quick Framework hier . Ich möchte dies gerne in ein privates GitHub-Repository integrieren. Beim Verzinken würden alle Äste bleiben. 

die Alternative wäre, das Repo zu klonen und nur einen Zweig in das Unternehmen zu verschieben, aber dann verliere ich, dass nicht alle Zweige aus der Quelle/dem Original vorhanden sind. 

update: Ich habe am Ende alle meine Filialen in das Unternehmen git gestoßen. Wenn Sie nur einen git durchführen, drücken Sie IhrenRemoteName myNewBranch. Dann wird der Code in diesen Zweig des Unternehmens git verschoben, während dieser Zweig in GitHub des Unternehmens erstellt wird. 

36
j2emanue

Dies ist nicht möglich, da Ihre Enterprise GitHub-Installation von der öffentlichen Installation getrennt ist. Daher können die beiden Systeme die Zweigbeziehungen der anderen Systeme nicht nachverfolgen.

Das Beste, was Sie tun können, ist genau das, was Sie beschreiben: Klonen Sie das Repo, und drücken Sie es auf Ihre GHE-Installation. Ja, Sie verlieren dann die Verzweigungsbeziehungen zwischen den Repos.

Die andere Option wäre, eine Abzweigung auf dem öffentlichen GH-Repo aufzubewahren - möglicherweise synchron mit Ihrem GHE-Repo (manuell oder mit einem Cronjob). Dann haben Sie zwei Instanzen Ihres Repos, und die öffentliche Instanz würde Zweigbeziehungen zum ursprünglichen Repo beibehalten.

Je nachdem, warum Sie dies auf GHE setzen müssen, funktioniert es möglicherweise nicht. Wenn Sie private Beiträge leisten, funktioniert das natürlich nicht - da Ihre privaten Beiträge nicht länger privat sind. Wenn Sie es für GHE wünschen, aufgrund einiger Unternehmensrichtlinien, dass alle intern verwendeten Open Source-Projekte in der GHE oder etwas Ähnlichem aufbewahrt werden, würde es funktionieren, mit dem zusätzlichen administrativen Aufwand, das Repo an zwei Stellen zu synchronisieren.

35
Flimzy

Es ist zwar nicht möglich, vom öffentlichen GitHub direkt zu Ihrer Enterprise-Installation zu wechseln, Sie können es jedoch auf dem öffentlichen GitHub verzweigen und dann dieses verzweigte Repository in Ihrer Unternehmensinstallation spiegeln.

Schritte

  1. Erstellen Sie ein leeres Repository in Ihrem GitHub Ihres Unternehmens:

    curl https://github.yourenterprise.com/api/v3/user/repos \ -u "IhrUsername"\ -d "{\" name\": \" what-repository "",\"private \": true} "

  2. Erstellen Sie einen nackten Klon Ihrer Gabel 

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

  3. Wechseln Sie die Verzeichnisse so, dass Sie sich im Bare-Clones-Ordner befinden:

    cd ./whatever-repository.git/

  4. Schieben Sie das Repository mit dem Flag "--mirror" in Ihr GitHub Ihres Unternehmens

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

Mehr Informationen

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

1
Pytry