Heute möchte ich der Frage nach gehen, wie man ein klassisches Update seiner lokalen Version durchführt. Dazu habe ich einen sehr schönen Blogbeitrag von ikarius entdeckt. Ja, ich weiß er löst mein Problem nicht. Aber er dient als Ansporn sich auf der richtigen Spur zu befinden…
Zurück zu meinem Problem. Faktenlage:
Entwickle aktuell unter der CakePHP-Framework Version 2.1.0. Mittlerweile ist aber die Version 2.1.2 aktuell. Mein Betriebssystem ist Ubuntu 12.04.
Meine Vorgehensweise:
- Terminal öffnen
- Ins Verzeichnis vons CakePHP-Framework wechseln
- Befehl
git pull eingeben
Nach Punkt 3 bekomme ich folgende Fehlermeldung:
error: Your local changes to the following files would be overwritten by merge:
app/Config/bootstrap.php
app/Config/core.php
app/Config/routes.php
app/Controller/AppController.php
app/Controller/PagesController.php
app/View/Layouts/default.ctp
app/View/Pages/home.ctp
Please, commit your changes or stash them before you can merge.
Aborting
Mit dem Befehl git diff kann man sich die Differenzen seiner Version zu der Online-Version näher anschauen. Oder über git log kann man den bisherigen Verlauf betrachten.
Nach Recherche bin ich auf folgenden Eintrag gestossen http://longair.net/blog/2009/04/16/git-fetch-and-merge/. Man soll nicht mit dem Befehl git pull arbeiten, sondern zuerst mit git fetch die Änderungen holen und anschließend über git merge seine Version mit der aktualisierten CakePHP Version zusammenführen.
Leider habe ich zu wenig Erfahrung im Umgang mit Git. Daher habe ich folgenden Fehler gemacht
git stash
git pull origin
Indem ich mit git stash meine Änderungen versteckt habe und anschließend das Update durchgeführt habe. Das Update lief zwar erfolgreich ohne Fehlermeldung durch, aber leider wurden die Dateien von der obrigen Fehlermeldung überschrieben. Diese habe ich manuell aus meinem letzten Backup wieder hergestellt.
Mit dem Umgang mit Git muss ich noch viel lernen. Wenn jemand Rat weiß, würde ich mich über eine E-Mail oder Kommentar sehr freuen, vielen Dank!
Weiterführende Links:
http://rogerdudler.github.com/git-guide/index.de.html
http://de.gitready.com/
http://ls11-www.cs.tu-dortmund.de/people/martin/git/erste-schritte-mit-git.html
http://ccc.zerties.org/index.php/Git_HowTo
http://wiki.ubuntuusers.de/Git