Heim Entwicklungswerkzeuge Idiot Detaillierte Erläuterung des temporären Speichervorgangs von „git stash'

Detaillierte Erläuterung des temporären Speichervorgangs von „git stash'

Jul 23, 2020 pm 06:01 PM
git stash

Detaillierte Erläuterung des temporären Speichervorgangs von „git stash'

Warum wir es brauchen

Nicht erlaubt Unnötig zu sagen, dass ich, als ich von diesem Befehl erfuhr und ihn später verwendete, ihn so sehr liebte, weil er so einfach zu verwenden ist.

Lassen Sie mich Ihnen etwas über das Szenario erzählen, wenn ich diesen Befehl verwende:

Zu diesem Zeitpunkt befinde ich mich im Zweig feature_666 und bin sehr konzentriert und konzentriert auf die Implementierung eines Feature 666-Moduls. Ich kann Code wie eine fliegende Tastatur schreiben~ ~~
Dann meldete der Kunde zu diesem Zeitpunkt einen Fehler, der sehr schwerwiegend war und sofort behoben werden muss, mit einer Priorität von 0! ! !
Ich muss also zum Release-Zweig gehen, um zu überprüfen, ob der neue Zweig funktioniert, aber was soll ich tun, wenn die 666-Funktion noch nicht abgeschlossen ist?
Zu diesem Zeitpunkt stand ich vor einer Multiple-Choice-Frage:
A: Wechseln Sie nach dem Absenden und der Code wird in der Verzweigung feature_666 gespeichert, aber es wird ein bedeutungsloses Commit generiert.
B: Direkt wechseln, ohne zu senden, aber Diese Option ist überhaupt nicht verfügbar. Werde wählen.

Ist es nicht schwierig, sich zu entscheiden? Vergessen Sie nicht, dass es Option C gibt!

C: Verwenden Sie Git Stash, um die aktuellen Änderungen (nicht festgeschriebenen Code) im Cache zu speichern, wechseln Sie die Zweige, um Fehler zu ändern, und kehren Sie dann zurück und entfernen Sie sie über Git Stash Pop.

1. Temporärer Betrieb

#查看当前状态
git status 
#如果有修改,添加修改文件
git add .
#暂存操作
git stash save '本次暂存的标识名字'
Nach dem Login kopieren

2. Die aktuell temporär gespeicherten Datensätze anzeigen

#查看记录
git stash list
Nach dem Login kopieren

Wo werden die Änderungen gespeichert?

Wenn wir git init verwenden, um dem Projekt Versionskontrolle hinzuzufügen, wird es in sein Unter dem Projektpfad wird ein versteckter .git-Ordner generiert. .git speichert alle Informationen zur Versionsverwaltung.
.git/refs/stash speichert den Knotenzeiger, der dem letzten Stash entspricht

Ebenso können Sie alle unsere Stash-Datensatzinformationen in .git/log/refs/stash sehen

Situation des Speicherns mehrerer Stashs

OK, versuchen wir, die Datei zu ändern und dann erneut Git-Stash zu verwenden. Zu diesem Zeitpunkt haben wir zwei vorübergehende Änderungen, also was?

Git-Stash-Liste // Alle temporären Änderungsdatensätze im temporären Speicherbereich anzeigen

Wenn Sie Git-Stash zweimal ohne Festschreibung ausführen, können Sie die spezifischen Änderungen der beiden Stashes nicht genau unterscheiden Lässt Git auf diese Weise großartig aussehen? Es ist überhaupt nicht schlau, wie könnte das möglich sein! .

In diesem Fall ist es natürlich sehr wichtig, den im Stash gespeicherten Änderungen einen Namen zu geben, wie folgt:

git stash save <message>
Nach dem Login kopieren

Stellen Sie die Staging-Arbeit wieder her

'Der Befehl pop stellt die Wiederherstellung her. Nach der Wiederherstellung löscht der temporäre Speicherbereich den aktuellen Datensatz.'

#恢复指定的暂存工作, 暂存记录保存在list内,需要通过list索引index取出恢复
git stash pop stash@{index}
Nach dem Login kopieren

'Der Befehl apply stellt die Wiederherstellung nach der Wiederherstellung her , der temporäre Speicherbereich Der aktuelle Datensatz bleibt erhalten'

#恢复指定的暂存工作, 暂存记录保存在list内,需要通过list索引index取出恢复
git stash apply stash@{index}
Nach dem Login kopieren

4. Temporären Speicher löschen

#删除某个暂存, 暂存记录保存在list内,需要通过list索引index取出恢复
git stash drop stash@{index}
#删除全部暂存
git stash clear
Nach dem Login kopieren

Empfohlenes Tutorial: " Git-Tutorial

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des temporären Speichervorgangs von „git stash'. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So aktualisieren Sie den Code in Git So aktualisieren Sie den Code in Git Apr 17, 2025 pm 04:45 PM

Schritte zur Aktualisierung von Git -Code: CODEHOUSSCHAFTEN:

So laden Sie GIT -Projekte auf lokale Herd herunter So laden Sie GIT -Projekte auf lokale Herd herunter Apr 17, 2025 pm 04:36 PM

Um Projekte lokal über Git herunterzuladen, befolgen Sie die folgenden Schritte: Installieren Sie Git. Navigieren Sie zum Projektverzeichnis. Klonen des Remote-Repositorys mit dem folgenden Befehl: Git Clone https://github.com/username/repository-name.git.git

Was tun, wenn der Git -Download nicht aktiv ist Was tun, wenn der Git -Download nicht aktiv ist Apr 17, 2025 pm 04:54 PM

Auflösung: Wenn die Git -Download -Geschwindigkeit langsam ist, können Sie die folgenden Schritte ausführen: Überprüfen Sie die Netzwerkverbindung und versuchen Sie, die Verbindungsmethode zu wechseln. Optimieren Sie die GIT-Konfiguration: Erhöhen Sie die Post-Puffer-Größe (GIT-Konfiguration --global http.postbuffer 524288000) und verringern Sie die Niedriggeschwindigkeitsbegrenzung (GIT-Konfiguration --global http.lowSpeedLimit 1000). Verwenden Sie einen GIT-Proxy (wie Git-Proxy oder Git-LFS-Proxy). Versuchen Sie, einen anderen Git -Client (z. B. Sourcetree oder Github Desktop) zu verwenden. Überprüfen Sie den Brandschutz

Wie man Git Commit benutzt Wie man Git Commit benutzt Apr 17, 2025 pm 03:57 PM

Git Commit ist ein Befehl, mit dem Dateien Änderungen an einem Git -Repository aufgezeichnet werden, um einen Momentaufnahme des aktuellen Status des Projekts zu speichern. So verwenden Sie dies wie folgt: Fügen Sie Änderungen in den temporären Speicherbereich hinzu, schreiben Sie eine prägnante und informative Einreichungsnachricht, um die Einreichungsnachricht zu speichern und zu beenden, um die Einreichung optional abzuschließen: Fügen Sie eine Signatur für die Einreichungs -Git -Protokoll zum Anzeigen des Einreichungsinhalts hinzu.

So löschen Sie ein Repository von Git So löschen Sie ein Repository von Git Apr 17, 2025 pm 04:03 PM

Befolgen Sie die folgenden Schritte, um ein Git -Repository zu löschen: Bestätigen Sie das Repository, das Sie löschen möchten. Lokale Löschen des Repositorys: Verwenden Sie den Befehl rm -RF, um seinen Ordner zu löschen. Löschen Sie ein Lager aus der Ferne: Navigieren Sie zu den Lagereinstellungen, suchen Sie die Option "Lager löschen" und bestätigen Sie den Betrieb.

Wie man Code in Git zusammenfasst Wie man Code in Git zusammenfasst Apr 17, 2025 pm 04:39 PM

Git -Code -Merge -Prozess: Ziehen Sie die neuesten Änderungen an, um Konflikte zu vermeiden. Wechseln Sie in die Filiale, die Sie zusammenführen möchten. Initiieren Sie eine Zusammenführung und geben Sie den Zweig an, um zusammenzuarbeiten. Merge -Konflikte auflösen (falls vorhanden). Inszenierung und Bekämpfung verschmelzen, liefern die Botschaft.

Wie löste ich das effiziente Suchproblem in PHP -Projekten? Typense hilft Ihnen, es zu erreichen! Wie löste ich das effiziente Suchproblem in PHP -Projekten? Typense hilft Ihnen, es zu erreichen! Apr 17, 2025 pm 08:15 PM

Bei der Entwicklung einer E-Commerce-Website habe ich auf ein schwieriges Problem gestoßen: Wie kann ich effiziente Suchfunktionen in großen Mengen an Produktdaten erzielen? Herkömmliche Datenbanksuche sind ineffizient und haben eine schlechte Benutzererfahrung. Nach einigen Nachforschungen entdeckte ich den Suchmaschinen-Artensense und löste dieses Problem durch seine offizielle PHP-Client-Artense-/Artense-Php, die die Suchleistung erheblich verbesserte.

So reichen Sie leere Ordner in Git ein So reichen Sie leere Ordner in Git ein Apr 17, 2025 pm 04:09 PM

Um einen leeren Ordner in Git einzureichen, befolgen Sie einfach die folgenden Schritte: 1. Erstellen Sie einen leeren Ordner; 2. Fügen Sie den Ordner zum Staging -Bereich hinzu; 3. Senden Sie Änderungen und geben Sie eine Commit -Nachricht ein. 4. (Optional) Drücken Sie die Änderungen in das Remote -Repository. HINWEIS: Der Name eines leeren Ordners kann nicht beginnen. Wenn der Ordner bereits vorhanden ist, müssen Sie Git Add -Force zum Hinzufügen verwenden.

See all articles