Hier habe ich mal den GIT Workflow für einen Programmierer zusammengefasst der zum Beispiel ein Plugin programmiert und dieses auf Github verwaltet.
Nein er arbeitet nicht im Team – darum braucht er auch keine Branches.
So arbeite ich an meinen Plugins
Github einrichten
Zuerst erstellt man direkt über die Github Webseite sein Repository.
Github clonen
Nun legt man auf dem Computer einen Ordner an und clont das Repository
Git Clone ist der Befehl – die URL ist die Github URL und der Punkt bedeutet, dass es direkt in diesem Ordner entpackt werden sollte. Wenn man einen anderen Zielordner möchte, dann ersetzt man den Punkt mit dem Pfad des Ordners.
1 | git clone url . |
Wenn ihr natürlich lieber einen Pfad eingeben möchtet, kann man das hier so machen
1 | git clone githuburl /Users/Eric/Git |
Das würde die Github URL im Ordner Git entpacken.
Programmieren
Nun ist dieser Ordner also voller Files wie php, css, js usw – wie gesagt ein Plugin für WordPress. Der Programmierer kann nun seine Updates machen.
Status checken
Das ist für mich einer der wichtigsten Befehle – denn er zeigt mir den Status der Files an – ich sehe ob ein File erstellt worden ist, aber noch nicht erfasst worden ist von Git oder ob es geändert worden ist und nun in den Staging Zustand versetzt werden muss.
1 | git status |
Files erfassen
Mit diesem Befehl packe ich alle Files die ich bearbeitet habe oder neu erstellt habe erfasst und zusammengefügt.
1 | git add -A |
Wenn ich aber nur 1 File erfassen möchte, dann kann ich es auch speziell erfassen mit
1 | git add funktion.php |
Commit
Nun muss ich diese zusammengefassten Files in einem Paket zusammenfassen und damit ich weiss, was ich darin verändert habe, werde ich eine Nachricht hinzufügen
1 | git commit -m "msg" |
Lokale Files nach Github senden
Nun möchte man ja dass dieses Update auch bei Github ankommt und dort zusammengefasst wird.
Kurze Zwischenbemerkung je nachdem mit was für einem Git man arbeitet, heisst die Hauptebene entweer Master oder Main oder sonst was mit dem ≪git status≫ kann man es erkennen. Als Resultat bekommt man hier so etwas ≪Your branch is up to date with ‘origin/main’.≫
Mit diesem Befehl lade ich also die Updates vom Computer auf Github hoch und dort wirds zusammengefasst.
1 | git push origin main |
Damit ist man eigentlich Fertig.
Github mit Lokal abgleichen
Hat man nun einige Zeit nicht mehr am Projekt gearbeitet oder sitzt man nun an einem anderen Computer der bereits mit diesem Github verzeichnis verknüpft ist, dann sollte man ja das ganze Online mit Offline abgleichen.
1 | git pull origin master |
Damit ist man also wieder in der aktuellen Version und kann weiterarbeiten.
Fazit
So das wäre mal der Workflow den ich auch verwende. Ich brauche meistens keine Branches sondern arbeite meistens in der Main Branch – ich bin mir nämlich bewusst, dass sowas auch ins Auge gehen kann. Selbst wenn ich ja eine neue Funktion einbaue, dann mach ich das direkt im Hauptverzeichnis. Aber ja es gibt Fälle wo ich was ganz verrücktes mache, zb ein Plugin komplett neu schreiben muss, dann gibts ein Branch – aber das ist mal das Thema eines anderen Beitrags.
Als absolute letzte Sicherheitsmassnahme zieht mein Synology NAS Regelmässig ein Backup von meinen GitHub Repositories und somit kann eigentlich nichts kaputt gehen.
Wie arbeitet ihr so? Verwendet ihr überhaupt Git oder ist das nichts für euch?
0 Kommentare