Pull Request

Im Entwickler-Forum können Implementierungsdetails sowie Alternativen der Umsetzung diskutiert werden. // Here, developers can discuss implementation details of features of their projects.
Antworten
GeneralCrime
Beiträge: 89
Registriert: 14.12.2011, 07:13:16
Kontaktdaten:

Pull Request

Beitrag von GeneralCrime » 21.01.2019, 14:05:34

Also ich muss ja langsam mein englisch verbessern.
Aber diese Geschichte mit den Pull Request kapier ich immer noch nicht ganz.

Wie gehe ich da am besten vor. Wie update ich mein "fork".
Glaube da update ich am besten nur wenn ich von meinem System was pushe was halt geändert werden soll.
Habe beim ISSUE#342 wohl versehendlich einen merge mit drin der auf dem fork nur ist (weil auf github getätigt) aber nicht lokal weil Du Christian das schon geändert hattest.

Ich finde das System recht unübersichtlich aber das liegt ja nicht an uns.

Benutzeravatar
dr.e.
Administrator
Beiträge: 4605
Registriert: 04.11.2007, 16:13:53

Re: Pull Request

Beitrag von dr.e. » 21.01.2019, 16:46:46

Hi,

wenn du bisher wenig mit GIT bzw. GitHub gearbeitet hast, ist das sicher erst mal verwirrend. :)

Ich versuche mich mal an einer Erklärung:

Wenn du ein GIT-Repository (z.B. https://github.com/AdventurePHP/code) anlegst, können Personen, die eine explizite Berechtigung für das (Remote-)Repository besitzten, direkt Änderungen dorthin pushen. Sofern du nicht berechtigt bist, kannst du ein Repository grundsätzlich immer forken (bedeutet: Clone des Original-Repos in deinem Bereich anlegen) und darin Änderungen vornehmen.

Möchtest du diese Änderungen in da zentrale Repository des Projekts übertragen, so erstellst du einen Pull-Request. Mit diesem kannst du die Änderungen in deinem Repository dann in das zentrale Repository übertragen. Sobald ein Pull-Request erstellt ist, können die Personen mit Berechtigungen auf dem zentralen Repository die Änderungen reviewen und aus deinem Fork in das zentrale Repository übertragen.

Pull-Requests sind damit eine elegante Möglichkeit, Änderungen an einem Repository vorzunehmen, das nicht dir gehört (allgemein gesprochen) und deine Änderungen am Ende der Bearbeitung zur Aufname vorzuschlagen. Dabei bietet GitHub eine - wie ich finde - schöne Integration um die Änderungen zu reviewen, ggf. eine Diskussion zu führen, Code nochmals zu überarbeiten und anschließend in den Haupt-Zweig zu integrieren.

Um eine Änderung am APF vorzunehmen und dann wieder in den Haupt-Zweig zu integrieren erstellst du als erstes einen Fork auf GitHub. Hierzu benötigst du einen eigenen Account. Solltest du das schon erstellt haben, kannst du auch einfach den aktuellen Stand des zentralen Repos durch ein fetch & pull beziehen. Dies lässt sich am einfachsten lokal ausführen. Danach kannst du in deinem eigenen Repo beliebige Änderungen vornehmen und committen.

Anschließend pushed du die Änderungen von deiner lokalen Umgebung in dein Form-Repo und erstellst auf der Seite des zentralen Repos einen Pull-Request.
Habe beim ISSUE#342 wohl versehendlich einen merge mit drin der auf dem fork nur ist (weil auf github getätigt) aber nicht lokal weil Du Christian das schon geändert hattest.
Sofern du dein lokales Repo bzw. deinen Fork aktualisierst, wird dort immer ein "merge" auftauchen, da Aktualisierungen entweder von deinem Form auf GitHub nach lokal oder vom APF-Repo in deinen Form immer als "merge" betrachtet werden. Insofern ist das völlig ok. Deine und meine Änderungen sehen im code-Repo wie folgt aus:

Code: Alles auswählen

commit c3109cd8d2c8f5bf100a03be5d493f8b03baebd5 (HEAD -> master, origin/master, origin/HEAD)
Merge: 3b095603 3895d101
Author: Christian Achatz <christian.achatz@adventure-php-framework.org>
Date:   Sun Jan 20 21:21:43 2019 +0100

    Merge pull request #25 from GeneralCrime/GeneralCrime-patch-2

    ISSUE#***: Fix notify all form elements in form:block

commit 3b0956033a9cedfbed1c382a2fdd0da8d128d8ff
Merge: 18a7023f 342a19a5
Author: Christian Achatz <christian.achatz@adventure-php-framework.org>
Date:   Sun Jan 20 21:20:40 2019 +0100

    Merge pull request #24 from GeneralCrime/GeneralCrime-patch-1

    ISSUE#341: Fix Forms with form:error tag send immediately

commit 3895d1012d54232b28fce53d1efadd6ad1d6bf66
Author: Christian Merz <crime@rexhaeuser.de>
Date:   Sat Jan 19 21:33:39 2019 +0100

    ISSUE#***: Fix notify all form elements in form:block

commit 18a7023f758f47d1783e1c91e62c09c237c9eafe
Author: Christian Achatz <christian.achatz@adventure-php-framework.org>
Date:   Sat Jan 19 17:46:41 2019 +0100

    ID#341: corrected sending status indication.
Das ist absolut in Ordnung, keine Panik! :)

Unsere beiden Änderungen haben sich teilweise überschnitten - korrekt. Damit wird dir im Diff diese Stelle u.U. nicht angezeigt, sondern nur die restlichen Änderungen.

Ich hoffe, ich konnte dir ein wenig weiter helfen! :) Wenn du ein wenig mit GIT und GitHub gearbeitet hast, wirst du feststellen, dass es relativ flexibel hinsichtlich des Worksflows ist, den du als Entwickler wählen kannst.

Lass mich gerne wissen, wenn du noch weitere Fragen hast!
Viele Grüße,
Christian

Benutzeravatar
dr.e.
Administrator
Beiträge: 4605
Registriert: 04.11.2007, 16:13:53

Re: Pull Request

Beitrag von dr.e. » 21.01.2019, 22:45:26

Habe grade deinen aktuellen Pull-Request gesehen, langsam scheint es dir Spaß zu machen... :)
Viele Grüße,
Christian

GeneralCrime
Beiträge: 89
Registriert: 14.12.2011, 07:13:16
Kontaktdaten:

Re: Pull Request

Beitrag von GeneralCrime » 22.01.2019, 06:50:57

JA mit git arbeite ich schon länger (2015) nur noch nicht mit github und pull requests.

Also der fork updatet sich nicht automatisch wenn das Hauptprojekt sich ändert das hab ich nun raus und war meine eigentliche frage.
Die aber auch logisch selbst zu beantworten gewesen wäre wenn man mal genau nachdenkt.

Dadurch kam es zu der Überlappung weil ich im fork auf github versehentlich meinen eigenen pull request gemergt habe.

Ja und ich hab spaß daran wenn ich mal die zeit hab und grad was benötige oder auffällt.
Hab noch nen Bug der das html5-datetime feld betrifft da gibt es ne exception wenn man wirre daten einträgt. (ein user konnte text eintragen. ich habs dann bei der jahreszahl hin bekommen. das aber ehr unwichtig und eilt nicht ich werd das auch mal in angriff nehmen wenn das we wieder da ist.

Benutzeravatar
dr.e.
Administrator
Beiträge: 4605
Registriert: 04.11.2007, 16:13:53

Re: Pull Request

Beitrag von dr.e. » 22.01.2019, 10:03:53

Sehr schön! :)

Dann freue ich mich auf den nächsten Pull-Request!
Viele Grüße,
Christian

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste