it-swarm.com.de

Umschalten einer Verzweigung nach Abbruch der aktuellen Änderungen in Git

Ich habe ein Git Repo geklont und habe dann in seinem Master-Zweig herumgespielt. Nach einer Weile möchte ich die gerade vorgenommenen Änderungen ignorieren (ohne sie zu begehen) und zu einem anderen Zweig wechseln. Es hindert mich jedoch daran, umzuschalten, da es nicht festgeschriebene Änderungen gibt. Wie ignoriere ich sie, ohne sie zu verstauen? Das ist, was passiert:

$ git checkout gh-pages
error: Your local changes to the following files would be overwritten by checkout:
        somefile.txt
Please, commit your changes or stash them before you can switch branches.
Aborting
38
highBandWidth

Option 1

git checkout -f gh-pages

Option 2

git reset --hard     # beware: don't make that a habit
git checkout gh-pages
63
sehe

Der Vollständigkeit halber und für diejenigen, die hier durch Suchen gelandet sind: Obwohl das OP ausdrücklich nach einer Lösung ohne Stashing verlangt, ist es erwähnenswert, dass Stash tatsächlich eine sehr schöne Option ist:

Der Befehl speichert Ihre lokalen Änderungen weg und setzt das Arbeitsverzeichnis entsprechend dem Commit HEAD zurück.

Das kannst du einfach

git stash

Dies ist wie das Zurücksetzen auf HEAD. Wenn man absolut sicher ist, dass diese unverbindlichen Änderungen einfach wertlos sind

git stash drop

Sie können sogar mehrere Vorräte usw. haben, wie oben im Dokumentationslink angegeben.

Ich würde diese Praxis empfehlen, da sie die Gewohnheit hat, vor dem Zurücksetzen ohne erheblichen Aufwand zu überlegen.

12
Wtower

Sie können alle nicht festgeschriebenen Änderungen ignorieren.

git reset --hard HEAD

5
Kit Ho

Wenn Sie eine nicht bereitgestellte Datei haben, versuchen Sie Folgendes:

git checkout -- .

Oder

git checkout -- filename
3
maoyang

Wenn Sie wirklich sicher sind, dass Sie Ihre nicht festgeschriebenen Änderungen verwerfen möchten (d. H. Sowohl die inszenierten als auch die in Ihrem Arbeitsbaum), können Sie Folgendes tun:

git reset --hard

Im Allgemeinen ist das Einlagern oft sicherer

3
Mark Longair

git add-A git stash

dadurch werden alle von Ihnen vorgenommenen Änderungen gelöscht (nur die, die nicht festgeschrieben sind).

0
Yoweli Kachala

Sie können Änderungen, die Sie in einer bestimmten Datei vorgenommen haben, verwerfen:

git checkout somefile.txt

Und dann reibungslos zum Zweig springen:

git checkout gh-pages
0
medik