====== Volkszaehler Repository auf github.com ====== Volkszähler ist OpenSource und lässt sich über https://github.com/volkszaehler abrufen. Verbesserungsvorschläge und Fehler können über https://github.com/volkszaehler/volkszaehler.org/issues eingereicht werden. Wir nutzen zur Entwicklung das Versionskontrollsystem git. Hier findest du ein paar der alltäglichen Arbeitsabläufe: http://www.kernel.org/pub/software/scm/git/docs/everyday.html Im Zuge der Installation des Volkszählers ([[/software/middleware/installation]]) wird bereits eine Kopie des sogenannten "Repositories" aus dem git Versionskontrollsystem bei github.com angelegt. Diese kann bei Bedarf verändert und aktualisiert werden. Wichtig im Umgang mit git ist ist das man alle Befehle vom Wurzelverzeichnis des Projekts ausführt. ===== Wie aktualisiere ich meine Middleware-Installation auf den aktuellen Stand? ===== cd /var/www # ggf.Datensicherung cp -r volkszaehler.org vz.org.bak # Update cd volkszaehler.org git stash git pull git stash apply # Abhängigkeiten aktualisieren composer update In ältere Installationen fehlen möglicherweise die Schreibrechte auf die Dateien. In dem Fall ein sudo vorne an die Befehle anstellen. Seit 2.0 wird die Konfiguration nicht mehr volkszaehler.conf.php sondern in config.yaml gespeichert.\\ Die Datei config.dist.yaml kann als Vorlage genutzt werden. Fehler beim Aufruf von Composer können daran liegen, dass Composer (http://getcomposer.org) an anderer Stelle installiert ist oder anders heißt. Evtl. hilft auch php composer.phar update Falls das Frontend nach dem Update einen Javascript Error meldet("TypeError: vz.entities.updateTable is not a function") hilft es, im Browser alle vz-Cookies zu löschen und den Cache zu leeren und ggf. am pi den Apache Webserver neu zu starten sudo systemctl restart apache2 Bei alten Images mit Debian Woody: sudo /etc/init.d/lighttpd restart ===== Wie erstelle ich erstmalig eine Kopie des git Repositories? ===== git clone git://github.com/volkszaehler/volkszaehler.org.git ===== Ich habe eine Datei geändert, wie bekomme ich wieder die Originalversion? ===== git checkout ./htdocs/js/options.js ===== Wie bearbeite ich einen Pull-Request? ===== git checkout -b -master master git pull https://github.com//volkszaehler.org.git master git checkout master git merge -master git push origin master ===== Wie kann ich auf einen bestimmten Versionsstand (commit) wechseln? ===== git checkout , z.B.: git checkout e4b1f69548f3e09ff8377d12902b5fcd02e84277 ===== Oh - die aktuelle Version auf github funktioniert bei mir nicht - wie kann ich einen Schritt zurück auf den vorhergehenden Versionsstand (commit) wechseln? ===== git checkout HEAD~1 Das lässt sich auch mehrfach durchführen - solange, bis man wieder eine funktionierende Version hat; nicht vergessen, beim Testen regelmäßig den Browser-Cache zu leeren und bei Änderungen im Verzeichnis "lib" den Web-Server neu zu starten. ===== Wunderbar - und wie komme ich wieder zurück zum aktuellen "Head"? (also: der neusten Version aus git?) ===== git checkout master ===== Ein Pull-Request könnte mein lokales Problem lösen, wie kann ich ihn testen? ===== Dazu brauchen wir die ID des Pull-Request und den Branchname unter dem er erstellt wurde. {{ :howto:git_pr-test.jpg?200|}} git fetch origin pull/ID/head:BRANCHNAME Im vorliegenden Beispiel sieht das dann so aus: git pull git fetch origin pull/641/head:fix-caching git checkout fix-caching composer update ===== Der Pull-Request wurde in den offiziellen Code übernommen, den will ich natürlich auch wieder! ===== [[howto:git#wunderbar_-_und_wie_komme_ich_wieder_zurueck_zum_aktuellen_head_alsoder_neusten_version_aus_git|Wunderbar - und wie komme ich wieder zurück zum aktuellen "Head"?]] ===== Was kann ich tun, wenn ich einen eigenen Fork habe und diesen mal wieder aktualisieren will? ===== git checkout -b upstream/master git remote add upstream git://github.com/volkszaehler/volkszaehler.org.git git pull upstream master git checkout master // [my master branch] git merge upstream/master git push origin master [[https://github.com/blog/266-fast-forward-your-fork#comment-11535|Quelle]] ===== Wie gehe ich vor, wenn ich einen pull request schicken will? ===== git checkout -b name_fuer_meinen_patch # legt lokal den neuen Branch mit dem Namen "name_fuer_meinen_patch" Jetzt Änderungen vornehmen git add # fügt die Datei(en) zum Repo hinzu git commit # nimmt die Änderungen in das Repo inkl. Kommentar auf git push --set-upstream origin aggregation-add-quiet-format # schiebt die Änderungen in das Master-Repo Anschließend Pull-Request stellen