Gabelprojekt zum Github-Prozess

25

Auf Github gibt es ein Projekt, das mir am besten gefällt und das ich verwenden möchte. Es gibt ein paar Dinge, die ich anders machen / entfernen möchte, die für das, was ich will / brauche, keinen Sinn ergeben. Ich möchte auch ein paar Dinge hinzufügen.

So wie ich es verstehe, sollte ich das Projekt aufteilen und ich kann alle gewünschten Änderungen vornehmen und es auf meine Gabel zurückschieben. Von dort aus möchte ich auch gelegentlich die Änderungen aus dem ursprünglichen Projekt in meine Gabel ziehen, damit ich die neuesten Fehlerbehebungen / Funktionen erhalte.

Bin ich falsch, wie ich denke, dass es funktionieren sollte? Wie würden sich die Änderungen aus dem ursprünglichen Projekt ergeben?

Mike Wills
quelle
1
Dies kann hilfreich sein: stackoverflow.com/questions/3329943/…
Michael Durrant

Antworten:

18

Bilden Sie die Gabel, dann bilden Sie sofort einen Zweig.

Jetzt haben Sie einen "unberührten" Master, der in Zukunft selbst aktualisiert werden kann, um die neuesten Änderungen mit git pulls zu erhalten.

Halten Sie Ihre Zweigstelle lokal, ohne auf Remote zuzugreifen, und Sie können rebases ausführen, die Folgendes für Sie tun:

  • Speichern Sie Ihre Änderungen
  • Wenden Sie die neuesten Änderungen vom Master auf Ihren Zweig an (die Änderungen, die durch das Update von der Fernbedienung stammen).
  • Wenden Sie Ihre Änderungen erneut an, und zwar zusätzlich zu dem Code, der vom Master (oder einem anderen ursprünglichen Zweig) aktualisiert wurde.

Wenn Sie damit fertig sind, führen Sie es lokal wieder in master (oder in den Zweig, aus dem die ursprüngliche Verzweigung stammte) zusammen und senden Sie dann die Pull-Anforderung, damit der tatsächliche Eigentümer es einzieht.

Das ist sowieso ein Workflow (oder "Forkflow"), wie ich es verstehe. Andere können gerne kommentieren, korrigieren oder weitere Details hinzufügen.

Michael Durrant
quelle
3
Dies scheint ein wenig vom Thema abzulenken. Es spricht das Wie an, ohne viel zu erklären, was Sie tun, und vermeidet es, in die Etikette-Frage zu geraten. Sie können dies verbessern, indem Sie einen allgemeinen Überblick über die von Ihnen erzielten Ergebnisse geben und erläutern, warum dies auf diese Weise sinnvoll ist.
Justin Morgan
10

Sie haben es im Grunde genommen: Sobald Sie eine Gabel erstellt haben, ist es Ihr eigener kleiner Sandkasten.

Ich denke, das Wichtigste, was Sie tun müssen, ist, sofort nach dem Verzweigen einen Zweig zu erstellen, um die ursprüngliche Entwicklungslinie von Ihrer eigenen zu trennen. Ob Sie sich in dieser Branche oder im Master weiterentwickeln, ist weitgehend eine Frage des persönlichen Geschmacks. Das eine, was mich davon abhält, mich im Master weiterzuentwickeln, ist, dass es zu einfach ist, einen "git pull" zu machen und das Falsche herauszufinden.

Parsifal
quelle