Ich würde gerne nur die Änderungen aus einer einzigen Datei speichern:
git stash save -- just_my_file.txt
Die obige Lösung funktioniert jedoch nicht. Gibt es Alternativen?
Ich würde gerne nur die Änderungen aus einer einzigen Datei speichern:
git stash save -- just_my_file.txt
Die obige Lösung funktioniert jedoch nicht. Gibt es Alternativen?
Wenn Sie keine Nachricht mit Ihren versteckten Änderungen angeben möchten, geben Sie den Dateinamen nach einem Doppelstrich an.
$ git stash -- filename.ext
Wenn es sich um eine nicht verfolgte/neue Datei handelt, müssen Sie sie zuerst bereitstellen.
Wenn Sie jedoch faire eine Nachricht angeben möchten, verwenden Sie push
.
git stash push -m "describe changes to filename.ext" filename.ext
Beide Methoden funktionieren in den Git-Versionen 2.13+
Ich denke stash -p
ist wahrscheinlich die richtige Wahl, aber für den Fall, dass Sie in Zukunft auf andere, noch kompliziertere Dinge stoßen, denken Sie daran:
Stash
ist eigentlich nur eine sehr einfache Alternative zu dem nur wenig komplexeren branch
Sets. Stash ist sehr nützlich, um Dinge schnell zu verschieben, aber Sie können komplexere Dinge mit Zweigen erreichen, ohne viel mehr Kopfschmerzen und Arbeit zu haben.
# git checkout -b tmpbranch
# git add the_file
# git commit -m "stashing the_file"
# git checkout main
tun und lassen, was man will, und dann später einfach rebase
und/oder merge
die tmp-Branche. Es ist wirklich nicht dass viel zusätzliche Arbeit, wenn man eine sorgfältigere Nachverfolgung durchführen muss, als es der Vorrat zulässt.
Die beste Möglichkeit ist, alles außer dieser Datei zu verlagern und stash anzuweisen, den Index mit git stash save --keep-index
und versteckt so Ihre nicht bereitgestellte Datei:
$ git add .
$ git reset thefiletostash
$ git stash save --keep-index
Wie Dan hervorhebt, thefiletostash
ist die einzige, die durch das Versteck zurückgesetzt wird, aber es versteckt auch die anderen Dateien, also ist es nicht genau das, was Sie wollen.
Nur für den Fall, dass Sie tatsächlich "Änderungen verwerfen" meinen, wenn Sie "git stash" benutzen (und nicht wirklich git stash benutzen, um es vorübergehend zu speichern), können Sie in diesem Fall verwenden
git checkout -- <file>
Beachten Sie, dass Git Stash nur eine schnellere und einfachere Alternative zum Verzweigen und Erledigen von Dingen ist.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.