Tutorials

Einige nützliche Hilfen und Code-Schnipsel, die ich immer wieder benötige und deshalb hier für alle sammle.

Zurück zur Übersicht

GIT: Pull erzwingen (force) lokale Dateien zu überschreiben

#Tutorials#Git

Hat man auf einem Live-System uncommited changes - dies kann passieren, wenn man auf dem Live-Server irgendeine Datei hat, die immer wieder ausversehen, oder wie auch immer bearbeitet wird und möchte nun einen git pull vom Master machen, so bekommt man häufig bis immer folgende Fehlermeldung:

error: Untracked working tree file 'public/images/icon.gif' would be overwritten by merge.

Mit folgenden 2 Zeilen lassen sich die lokalen Änderungen zurücksetzen und der Pull forcieren.

git fetch --all
git reset --hard origin/master 
#bzw.
git reset --hard origin/<branch_name>

Was macht das Ganze?

git fetch lädt den letzten Stand vom Remote-Repository ohne irgendetwas zu mergen.

Danach resettet git reset den master branch zu dem was gerade per git fetch geholt wurde. Die --hard option ändert alle Dateien um wieder mit origin/master konform zu sein.

Jetzt wurde sozusagen ein git force pull gemacht :)


Kommentare

  • Uli Renz
    Evtl. besteht aber auch lokal eine Änderung die bereits committet wurde, dann erzeugt der hard-reset einen detached Head, hier hilft im Normalfall, den entsprechenden Branch zu löschen mit z.B. git branch -D master und neu aus zu checken git checkout master.
    Antworten
  • Mariane Tindo
    Danke für den Beitrag, Der hat mir geholfen!!
    Antworten
  • Markus
    Danke André für den Beitrag, genau daran bin ich auch gerade verzweifelt!
    Antworten

Hinterlasse einen Kommentar

Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Kommentar wird gespeichert
Danke für deinen Kommentar! Sobald er freigegeben wurde erscheint er hier.