git und WordPress-Entwicklung
git ist ein sehr mächtiges Werkzeug zur Versionsverwaltung. Es ist ein verteiltes System. Dies bedeutet, dass man ohne Verbindung zu einem zentralen Server Entwicklungszweige und tags anlegen kann. Mehr Informationen gibt es auf der Projektseite.
Wer WordPress plugins schreibt und sie auf der WordPress.org Seite für plugins veröffentlicht sehen möchte muss svn benutzen. Dies kann etwas frustrierend sein wenn man erst einmal die Fäigkeiten von git kennen gelernt hat.
Zum Glück kann git auch mit svn kommunizieren, hierfür gibt es git-svn. Hier ist eine Liste von Befehlen die man einsetzen kann.
git svn init -s http://svn.wp-plugins.org/Ihr_plugin
Hiermit wird ein lokales git Repository kreiert. Innerhalb des Repositorys kann man folgende Befehle benutzen:
svn log http://svn.wp-plugins.org/your_plugin
Der svn Befehl listet die svn revisions. Mit der Nummer des letzten commits kann man dann
git svn fetch -rNNNNN
git gc
git branch -a
Ersetze NNNN mit der Nummer des entsprechenden commits. Der zweite Befehl räumt im lokalen Repository auf und komprimiert Dateien. Dies wird den Festplattenverbrauch deutlich verringern. Der letzte Befehl listet alle Entwicklungszweige auf, lokal und auf dem svn server.
Achtung: Wenn der Fehler fatal: refs/remotes/trunk: not a valid SHA1 auftritt wurde wahrscheinlich versucht ein svn tag zu fetchen. Das scheint ein Fehler in git svn zu sein (bestätigt bis 1.7.2.3). Als Lösung einfach den vorherigen commit fetchen, der kein svn tag ist.
Ein normaler Arbeitsablauf kann so aussehen:
... bearbeiten ...
git commit -m "Tolles neues Feature erstellt" -a
git svn dcommit
Mit dem letzten Befehl wird der neue Programmcode auf den svn-Server hoch geladen. Gerade wenn man mit dem WordPress-Server interagiert muss man gelegentlich tags anlegen. Das geht mit foldendem Befehl:
git svn tag version
Hiermit wird ein tag im entfernten svn Repository erstellt. Hierfür scheint mindestens git 1.6.1 nötig zu sein. Mit diesen Beispielen sollten die ersten Schritte mit git für die WordPress plugin Entwicklung leichter fallen. Die git Dokumentation sollte auf jeden Fall für weitere Informationen gelesen werden.
2 Kommentare
Antworte