Collaborator

Guite edited this page Nov 12, 2014 · 2 revisions

An einem auf GitHub.com gehosteten Projekt als Collaborator mitwirken

(jemand mit vollen Schreibrechten - z.B. Core Entwickler oder Besitzer eines Modul-Projektes)

Dieser Artikel ist eine Anleitung wie man Patches zum Zikula Core oder einem beliebigen anderen Modul, welches auf GitHub gehostet wird, als Collaborator mit vollen Lese- und Schreibrechten (typischerweise ein Besitzer eines Modul-Projektes oder Core-Entwickler) hinzufügt.

Was ist überhaupt ein Collaborator?

Primär ist ein Collaborator jemand der:

  • Branches von Contributors (Patches) in den Branches upstream/master und / oder upstream/release-* zusammenführt
  • release-* - Branches anlegt
  • Taggen von veröffentlichten Versionen innerhalb der master und release-* Branches.

Im Gegensatz zu Contributors (die keinen Schreibzugriff haben), können Collaborators das Haupt-Repository klonen und direkt in diesem Repository arbeiten. Hierbei sollte jedoch beachtet werden, dass Topic-Branches nicht in das zentrale Repository commited werden sollen. Statt dessen soll jeder Topic Branch in den master-Branch commited werden und dann in das zentrale Repository gepushed werden.

Generell muss also das Haupt-Repository nicht geforked werden, wenn man bereits Schreibrechte hat. Einzig wenn man vor hat, mit einem anderen Entwickler an Topic Branches zusammen zu arbeiten, könnte es nötig sein einen Fork anzulegen. Wenn ein Fork nicht nötig ist, sollte man den eigenen Arbeitsablauf also nicht unnötig verkomplizieren.

Ablauf

Der eigene Arbeitsablauf sollte so aussehen:

Wenn man an etwas arbeitet, sollte ein Branch von master erfolgen. Wenn es ein Ticket ist (und das sollte es sein :) ), sollte zum Ticket_XXXX gebrancht werden.

$ git branch Ticket_1234
$ git checkout Ticket_1234

Wenn man bereit ist den commit durchzuführen, sollte ein rebase zurück zu master erfolgen.

$ git checkout master
$ git rebase Ticket_1234

Jetzt zum Origin ("Ursprung") pushen

$ git push origin master

NIEMALS Topic Branches in Origin pushen! Wenn man mit den lokalen Topic Branches fertig ist, sollten diese einfach gelöscht werden.

Bitte beachten - wenn man das lokale Repository synchronisieren möchte, sollte man "git pull --rebase" ausführen. Dies wird die inzwischen erfolgten Commits auf das eigene Repository überspielen und somit synchronisieren.

Weitere gute Dokumentationen zu GitHub sind auf http://help.github.com zu finden.

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.