Ich weiß, dass StackOverflow nicht der Ort für meinungsbasierte Antworten ist, aber ich habe tatsächlich eine gute Meinung darüber, wann Änderungen mit einem Stash zurückgestellt werden müssen.
Sie möchten keine experimentellen Änderungen vornehmen
Wenn Sie Änderungen an Ihrem Arbeitsbereich / Arbeitsbaum vornehmen und verzweigungsbasierte Vorgänge wie Zusammenführen, Drücken, Abrufen oder Ziehen ausführen müssen, müssen Sie sich an einem sauberen Festschreibungspunkt befinden. Wenn Sie also Änderungen am Arbeitsbereich haben, müssen Sie diese festschreiben. Aber was ist, wenn Sie sie nicht festlegen möchten? Was ist, wenn sie experimentell sind? Etwas, das Sie nicht in Ihre Commit-Historie aufnehmen möchten? Etwas, das andere nicht sehen sollen, wenn Sie auf GitHub pushen?
Sie möchten lokale Änderungen nicht durch einen Hard-Reset verlieren
In diesem Fall können Sie einen Hard-Reset durchführen. Wenn Sie jedoch einen Hard-Reset durchführen, verlieren Sie alle Änderungen Ihres lokalen Arbeitsbaums, da alles dort überschrieben wird, wo es zum Zeitpunkt des letzten Commits war, und Sie alle Ihre Änderungen verlieren.
Die Antwort auf "Wann sollten Sie sich verstecken?" Lautet, wenn Sie mit einem synchronisierten Arbeitsbaum / Index / Commit zu einem sauberen Festschreibungspunkt zurückkehren müssen, aber Ihre lokalen Änderungen in nicht verlieren möchten der Prozess. Bewahren Sie Ihre Änderungen einfach in einem Vorrat auf, und Sie sind gut.
Und sobald Sie Ihren Stash erledigt und dann zusammengeführt oder gezogen oder geschoben haben, können Sie einfach Pop verstauen oder anwenden und sind wieder da, wo Sie angefangen haben.
Git Stash und GitHub
GitHub fügt ständig neue Funktionen hinzu, aber ab sofort gibt es die Möglichkeit, dort einen Vorrat zu speichern. Wieder ist die Idee eines Versteckes, dass es lokal und privat ist. Niemand sonst kann ohne physischen Zugriff auf Ihre Workstation in Ihren Vorrat schauen. Auf die gleiche Weise ist Git Reflog privat und das Git Log ist öffentlich. Es wäre wahrscheinlich nicht privat, wenn es auf GitHub hochgeschoben würde.
Ein Trick könnte darin bestehen, einen Unterschied in Ihrem Arbeitsbereich zu machen, den Unterschied in Ihrem Git-Repository einzuchecken, festzuschreiben und dann zu pushen. Dann können Sie von zu Hause aus ziehen, das Diff holen und es dann abwickeln. Aber das ist ein ziemlich chaotischer Weg, um diese Ergebnisse zu erzielen.
git diff > git-dif-file.diff