2016-07-05 9 views
1

Ich habe eine neue Datei zu meinem lokalen Zweig hinzugefügt. Auf Ausführen des Befehls git status es gibt unter Ausgabe:git stash throws error Keine lokalen Änderungen zu speichern

# On branch MyLocBranch 
# Untracked files: 
# (use "git add <file>..." to include in what will be committed) 
# 
# mypath/nextDir/myfile.py 
nothing added to commit but untracked files present (use "git add" to track) 

Das ist in Ordnung, wie ich untracked Datei haben, und es zeigt in rot im Terminal.

Jetzt, um diese Änderungen zu speichern, habe ich die Befehle git stash und git stash save "some message" ausgeführt. Aber ich bekomme den Fehler No local changes to save was seltsam ist. Die Änderungen hätten versteckt werden sollen.

+0

@Matt Danke. Das habe ich gesucht! – Deca

+0

So können Sie die Antwort als die akzeptierte markieren und auch upvote, wenn Sie es mögen, auch wenn Ihre Frage als doppelt markiert ist – Matt

+0

getan! ........... – Deca

Antwort

3

Stash wird verwendet, um die Änderungen in bekannten/verfolgten Dateien zu speichern. Da dies eine neue/nicht aufgezeichnete Datei ist, hat Git nichts zu speichern.

Hinweis: Diese Datei verbleibt in Ihrem lokalen Verzeichnis, auch wenn Sie zu einer anderen Verzweigung wechseln.

+0

Aber Git Dokumentation sagt, Verwenden Sie Git Stash, wenn Sie den aktuellen Status des Arbeitsverzeichnisses und des Indexes aufzeichnen möchten, aber in ein sauberes Arbeitsverzeichnis zurückkehren möchten. Der Befehl speichert Ihre lokalen Änderungen und entfernt das Arbeitsverzeichnis so, dass es dem HEAD-Commit entspricht. Also ein bisschen Verwirrung – Deca

+0

Auch eine mehr aus dem Git-Dokument, Oft, wenn Sie an einem Teil Ihres Projekts gearbeitet haben, sind die Dinge in einem chaotischen Zustand und Sie wollen Zweige für ein bisschen wechseln, um an etwas anderem zu arbeiten. Das Problem ist, dass Sie nicht die Hälfte der Arbeit erledigen wollen, nur damit Sie später zu diesem Punkt zurückkehren können. Die Antwort auf dieses Problem ist der Befehl git stash. Stashing nimmt den schmutzigen Status Ihres Arbeitsverzeichnisses - also Ihre geänderten verfolgten Dateien und gestaffelten Änderungen - und speichert sie auf einem Stapel unfertiger Änderungen, die Sie jederzeit erneut anwenden können. – Deca

+1

Um Ihren Wunsch zu erfüllen, wann immer Sie sind Wenn Sie eine neue Datei erstellen, müssen Sie die Datei sofort mit "git add" bereitstellen. Dann wird git es als deine Veränderung verstehen und in den Vorrat aufnehmen. –

2

Standardmäßig speichert git stash keine nicht verdeckten Dateien.

Um auch Ihre nicht verfolgten Dateien zu speichern, können Sie die Option --include-untracked (oder -u) verwenden.

Verwandte Themen