# GIT: Überschreiben des Lokalen Repos mit dem Remote Repo



## Aldimann (10. Nov 2011)

Hi zusammen,

ab und zu habe ich das Problem, dass ich etwas in mein lokales Repository einchecke und mir kurz darauf auffällt, dass ich den Commit eigentlich so nicht wollte.

Nun kann man natürlich git revert nutzen und den kompletten Commit wieder zurück nehmen. Jedoch sind ja dann trotzdem 2 Commits in der History und mein Commit liegt ja noch gar nicht auf dem remote Repo.

Daher: Gibt es eine möglichkeit mein lokales Repository einfach wieder vom remote Repo überschreiben zu lassen?

Habe zwar schon ein paar Sachen bei google dazu gefunden, allerdings nicht genau das was ich wollte...

Vielen Dank schon mal!

Viele Grüße


----------



## schalentier (10. Nov 2011)

Solange alles lokal ist, gibt es viele Moeglichkeiten:

[c]git reset --soft HEAD~1[/c] loescht den letzten Commit, alle Aenderungen dieses Commits sind Outgoings.

[c]git reset --hard HEAD~1[/c] loescht den letzten Commit, alle Aenderungen sind *weg*.

[c]git checkout HEAD~1 -b neuer_branch[/c] erzeugt einen neuen Lokalen Branch (neuer_branch), welcher auf den vorletzten Commit zeigt

Mit [c]rebase[/c] kannste auch arbeiten, aber vielleicht reicht einer der genannten Wege...


----------



## Aldimann (10. Nov 2011)

Ah cool! Vielen Dank!


```
git reset --soft HEAD~1
git reset --hard HEAD~1
```

ist ganz genau das was ich gesucht habe


----------



## HoaX (15. Nov 2011)

Entsprechend kannst du auch deinen Branch auf den Stand eines Remotebranches zurücksetzen. Einfach statt der Revision den entsprechenden Branch angeben:
git reset --hard origin/meinBranch


----------

