Git Flow

Das man in selbst schon bei kleineren Entwicklungsprojekten auf ein Versionierungstool wie Git zurückgreifen sollte, muss sicherlich nicht nochmal erwähnt werden. Doch bei der Frage, wie man am besten mit Git arbeitet, wenn man nicht allein an einem Projekt arbeitet, ist nicht immer so einfach.

Ein System, das sich aber durchzusetzen scheint, heißt Git Flow. Dabei arbeitet man mit mehreren Branchs, die alle ihren eigenen vorgegebenen Zweck haben. So wird immer nur  der Stand des master-Branchs auf den Liveserver hochgeladen. Dieser wird immer wieder mit Releases aus dem develop-Branch bespielt. Der develop-Branch selbst dient zur gemeinsamen Codebasis für die Entwickler. Allerdings arbeiten diese nicht direkt auf dem develop-Branch sondern erstellen sich auf dessen Basis eigene Featurebranchs, die erst wieder auf den develop-Branch gemergt werden, sobald das Feature fertig ist.

Auf diese Weiße, können die Entwickler sicher sein, dass sie auf einem lauffähigen System weiterentwickeln und ihre eigenen Anpassungen die anderen Entwickler nicht direkt beeinflusst.

Automatische Tests

In vielen Projekten, bei denen es vor allem darum geht schnell und kostensparend Ergebnisse zu schaffen, wird das Thema Automatische Tests leider vernachlässigt. Dabei sind diese Tests vor Allem bei fortlaufenden Projekten essentiell. Denn nur so kann man sich sicher sein, dass die Anpassungen, die man am Projekt durchführt, nicht an einer anderen Stelle Sachen kaputt macht.

Wenn man auf automatische Tests verzichtet, bleibt einem also nichts Anderes übrig, als manuelle Tests durchzuführen, was auf die Dauer mehr Zeit kostet als die Entwicklung der automatischen Tests. Oder aber, man hofft, dass sich keine Fehler eingeschlichen hat. Was allerdings eine noch schlechtere Herangehensweise ist. Denn gerade bei Projekten, die über die Zeit gewachsen sind, kann man sich nicht sicher sein, welche Seiteneffekte eine kleine Anpassung mit sich bringen kann.