≡ Jetzt bin ich erwachsen!
Mein Studium ist seit Mitte März zu Ende, seit Anfang April bin ich fest angestellt und immer am Ende des Monats landet viel Geld auf meinem Konto.
Meine Eltern schenkten mir zum Beginn dieses Lebensabschnittes einen Lego-Dinosaurier.
Einen DINOSAURIER!!!!! Aus LEGO!!!!!

Was gibt es Besseres?
≡ Pagination mit Custom Post Type und Page Template
WordPress Custom Post Type, Page Template und Probleme mit der Pagination? Hier die Lösung:
Basicly, you CANT have a PAGE and a CUSTOM POST TYPE with the same name. If you do, the permalink rewrite rules will get confused and trigger a 404.
(das musste ich mal hier aufschreiben, damit ich das nicht vergesse)
≡ Schrödingers Katze
≡ Wald
≡ GIT Autopull
(dieser Eintrag dient hauptsächlich dafür, dass ich später nachvollziehen kann, was ich gemacht habe; aber vielleicht hilft er ja dem ein oder anderen etwas weiter)
Ich habe GIT auf meinem Uberspace installiert. Wie das geht, steht im Wiki von Uberspace.
Meine GIT-Projekte befinden sich in einem eigenen Ordner in meinem Home-Verzeichnis. Hier liegen die Master-Versionen der Projekte, auf meinem Rechner liegt dann jeweils eine Arbeitskopie. Zum Verwalten der Projekte auf meinem Rechner benutze ich Tower.
Wenn ich von einer Master-Datei jetzt einen Klon erstelle, der in meinem www-Verzeichnis auf Uberspace liegt, also auch von außerhalb über http:// erreichbar ist, funktioniert das schon prima. Ich ändere Lokal auf meinem Rechner etwas, pushe die Änderung auf den Master in meinem Uberspace und hole mir dann die Änderungen mittels git pull in das Live-Verzeichnis.
Den letzten Schritt möchte ich aber immer ausführen, wenn sich etwas an dem Master verändert. So kann ich lokal entwickeln, und wenn ich zufrieden bin, die Änderungen an den Master pushen und sie gehen dann automatisch live. Hierfür gibt es in GIT die sogenannten hooks; sie haken sich an bestimmten Stellen ein und werden z.B. vor oder nach einem Commit ausgeführt.
Hooks befinden sich im GIT-Verzeichnis des Projektes im Ordner hooks/.
Ich benutze den post-receive-Hook, der immer ausgeführt wird, nachdem der Master Änderungen erhalten hat. In der Datei 'post-receive' (das .sample am Ende der Datei muss man entfernen, damit die Datei aufgerufen wird) steht, was man auch ins Terminal tippen würde:
#!/bin/sh
cd /var/www/virtual/{username}/{git-kopie}/
unset GIT_DIR
git pull origin master
wobei {username} der Uberspace-Username und {git-kopie} der Pfad zum Live-Verzeichnis ist.
unset GIT_DIR setzt die globale Variable $GIT_DIR auf der neue Verzeichnis, in der wir per *cd* gewechselt sind. Von da aus kann man dann einen normalen *git pull* machen.

