Ich habe ein öffentliches PHP-Projekt in einem GitHub-Repo, das nur einen Zweig (Master) enthält.
Ich möchte eine separate Niederlassung / Gabel haben, die für mich privat ist (ich habe für private GitHub-Repos bezahlt). Ich möchte in der Lage sein, Änderungen von der privaten Niederlassung / Gabelung zum öffentlichen Repo und umgekehrt zusammenzuführen.
In diesem Sinne sind hier meine Fragen:
- Kann ich eine private Filiale in einem öffentlichen Repo haben?
- Kann ich mein eigenes öffentliches Repo in meine eigene Filiale / Gabel aufteilen?
- Wenn beides möglich ist, welcher ist der beste Weg nach vorne? Wenn nicht, wie soll ich vorgehen?
github
git-branch
fork
Eidechse
quelle
quelle
Antworten:
quelle
Auf GitHub ist Ihr Repository entweder öffentlich oder privat. Sie können nicht selektiv nur eine Filiale "privatisieren".
Sie können Ihr öffentliches Repo auf Ihren lokalen Computer klonen, nach Bedarf verzweigen und Ihre "privaten" Zweige einfach nicht in den Upstream verschieben (indem Sie angeben, welcher Zweig zum Ursprung verschoben werden soll :
git push origin master
odergit push origin branch-i-want-to-be-public:master
).Um GitHub sowohl für Ihre öffentliche als auch für Ihre private Entwicklung zu nutzen, würde ich vorschlagen, Ihren öffentlichen Zweig in GitHub zu teilen, die Einstellungen der neuen Verzweigung in "Privat" zu ändern und dann die private Version auf Ihren lokalen Computer zu klonen. Wenn Sie bereit sind, Änderungen öffentlich zu machen, schieben Sie alles auf GitHub auf Ihre private Abzweigung und kopieren Sie dann mithilfe von Pull-Anforderungen selektiv Zweige in das öffentliche Repo.
Um ein Repository auf GitHub privat zu machen, müssen Sie über ein aktualisiertes (kostenpflichtiges) Konto verfügen . Wenn Sie nur das kostenlose Konto rocken, können Sie immer noch den ersten von mir vorgeschlagenen Prozess verwenden - öffentlich auf lokalen Computer klonen, verzweigen und bestimmte "öffentliche" Zweige zum Ursprung verschieben - ohne ein privates Repo zu benötigen.
Wenn Sie ein bezahltes GitHub-Konto haben oder einen anderen Dienst verwenden, der öffentliche und private Gabeln und Pull-Anforderungen anbietet (z. B. BitBucket ), können Sie einen der oben genannten Ansätze verwenden, um Ihren Code öffentlich zu machen.
quelle
Es gibt eine andere Lösung, die ich besser finde, da sie nicht zu doppelten Repos auf demselben Computer führt.
Das Endergebnis ist 1 Repository mit 2 Fernbedienungen. 1 öffentlich, 1 privat.
Sie müssen nur vorsichtig sein, welchen Namen Sie entsprechend drücken.
quelle
Soweit ich weiß, nein.
Nein, Sie können ein vollständiges Repo (1-n-Zweige) nicht in einen einzelnen Zweig aufteilen. Nun, eigentlich könnten Sie, wenn Sie nur den einen Zweig des vollständigen Repos teilen. Fügen Sie es einfach als Fernbedienung hinzu oder starten Sie von einem Klon.
Vielleicht interessieren Sie sich auch für Sparse Checkout .
n / a
n / a
quelle