Git: Kann nicht lokale Änderungen rückgängig machen (Fehler: Pfad… ist unmerierig)

StackOverflow https://stackoverflow.com/questions/3021161

  •  26-09-2019
  •  | 
  •  

Frage

Ich habe den folgenden Baumstaat

$ git status foo/bar.txt
# On branch master
# Unmerged paths:
#   (use "git reset HEAD <file>..." to unstage)
#   (use "git add/rm <file>..." as appropriate to mark resolution)
#
#       deleted by us:      foo/bar.txt
#
no changes added to commit (use "git add" and/or "git commit -a")

Datei foo/bar.txt Ist da und ich möchte es wieder in den "unveränderten Zustand" bringen (ähnlich wie 'SVN Revert'):

$ git checkout HEAD foo/bar.txt
error: path 'foo/bar.txt' is unmerged
$ git reset HEAD foo/bar.txt
Unstaged changes after reset:
M       foo/bar.txt

Jetzt wird es verwirrend:

$ git status foo/bar.txt
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       new file:   foo/bar.txt
#
# Changed but not updated:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:   foo/bar.txt
#

Die gleiche Datei in beiden Abschnitten, neu und geändert? Was soll ich machen?

War es hilfreich?

Lösung

Du hast es falsch gemacht. Sie sollen zuerst zurücksetzen, die Datei abbauen und dann die lokalen Änderungen zurücksetzen.

Versuche dies:

$ git reset foo/bar.txt
$ git checkout foo/bar.txt

Andere Tipps

Das hat perfekt für mich funktioniert:

$ git reset -- foo/bar.txt
$ git checkout foo/bar.txt
git checkout origin/[branch] .
git status

// Beachten Sie DOT (.) Am Ende. Und alles wird gut sein

git checkout foo/bar.txt

Hast du das versucht? (ohne Kopfschlüsselwort)

Normalerweise kehre ich meine Änderungen auf diese Weise zurück.

ich finde Git Stash Sehr nützlich für die zeitliche Handhabung aller "schmutzigen" Zustände.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top