Was bedeutet Git-Rebase?
Git-Rebase bedeutet: Neudefinition des Repository-Status des Zweigs. Bei der Durchführung eines Rebase-Vorgangs extrahiert Git die Änderungen am neu zu basierenden Zweig, beginnend mit dem gemeinsamen Vorfahren der beiden Zweige, und verweist dann auf den Zweig, auf den neu erstellt werden soll Der Basiszweig Der letzte Commit, und schließlich werden die gerade extrahierten Änderungen auf die Rückseite des letzten Commits des Basiszweigs angewendet.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, Git-Version 2.30.0, Dell G3-Computer.
Git Rebase dient, wie der Name schon sagt, dazu, die Rolle des Startpunkts (Basis) neu zu definieren, dh den Repository-Status des Zweigs neu zu definieren.
1. Übermittlungsknotendiagramm
Lassen Sie uns zunächst anhand eines einfachen Übermittlungsknotendiagramms spüren, was Rebase bewirkt.
Zwei Zweige, Master und Feature, wobei Feature der vom Master am Übermittlungspunkt B gezogene Zweig ist.
Es gibt zwei Zweige auf Master Ein neues Commit M und zwei neue Commits C und D auf Feature
Wechseln Sie zu diesem Zeitpunkt zum Feature-Zweig und führen Sie den folgenden Befehl aus, der dem Zusammenführen des Master-Zweigs mit dem Feature-Zweig entspricht
git checkout feature git rebase master //这两条命令等价于git rebase master feature
Das Bild unten zeigt die Rebase. Das endgültige Übermittlungsknotendiagramm erklärt, wie es funktioniert:
- Feature: zu ändernder Basiszweig, aktueller Zweig
- master: Basiszweig, Zielzweig
Offizielle Erklärung: Bei der Ausführung Bei einer Rebase-Operation extrahiert git ausgehend vom gemeinsamen Vorfahren der beiden Zweige die Änderungen am zu ändernden Zweig, zeigt dann den zu ändernden Zweig auf das neueste Commit des Basiszweigs und wendet schließlich die gerade extrahierten Änderungen an die Rückseite des letzten Commits des Basiszweigs.
Erläuterung mit Beispielen: Wenn Git Rebase Master auf dem Feature-Zweig ausgeführt wird, extrahiert Git die Änderungen auf dem Feature-Zweig, beginnend mit dem gemeinsamen Vorfahren B von Master und Ffeatuer, d. h. die beiden Commits C und D werden zuerst extrahiert. Dann verweisen Sie den Feature-Zweig auf den neuesten Commit des Master-Zweigs, nämlich M. Schließlich werden die extrahierten C und D mit M verbunden, aber dieser Prozess besteht darin, die ursprünglichen C und D zu löschen und neue C‘ und D‘ zu generieren. Ihr Übermittlungsinhalt ist derselbe, aber die Commit-ID ist unterschiedlich. Natürlich deutet Feature schließlich auf D‘ hin.
Beliebte Erklärung (wichtig!): Rebase kann direkt als Änderung der Basis verstanden werden. Der Feature-Zweig ist ein Zweig, der aus B des Master-Zweigs gezogen wird, und die Basis des Features ist B. Und wenn der Master nach B einen neuen Commit hat, ist dies gleichbedeutend mit der Verwendung des neuen Commits auf dem Master als neue Basis des Feature-Branchs. Der eigentliche Vorgang besteht darin, die Übermittlungen der Funktion nach B zu speichern, dann die ursprünglichen Übermittlungen zu löschen, dann den neuesten Übermittlungsort des Masters zu finden und dann die gespeicherten Übermittlungen zu verbinden (neuer Knoten mit neuer Festschreibungs-ID), sodass die Basis von Der Feature-Zweig ist ziemlich Yu wurde M anstelle des ursprünglichen B.
Es gibt auch eine sehr einfache Erklärung. Der Schlüssel zum Rebase-Befehl besteht darin, den Unterschied zwischen dem Basiszweig und dem aktuellen Zweig (nach dem Bifurkationspunkt) zu ermitteln ). Senden Sie dann die differenziellen Übermittlungen nacheinander nach dem letzten Übermittlungspunkt des „Basiszweigs“ erneut und zeigen Sie schließlich den HEAD-Zeiger des aktuellen Zweigs auf den neuesten Übermittlungspunkt
2. Tatsächliches Git-Übermittlungsbeispiel
Die Übermittlung Der Datensatz wird gemäß dem obigen Diagramm wie folgt erstellt. Wie in der Abbildung gezeigt: (ABM ist die Master-Zweiglinie und ABCD ist die Feature-Zweiglinie. Hier ändert der Master seine Farbe und verzweigt sich. Dies hat keinen Einfluss auf das Verständnis. Nur wissen Sie, dass es zwei Zweige und zwei Zeilen bedeutet!)
Dies Wenn Sie Git Rebase Master auf dem Feature-Zweig ausführen
Nach Abschluss der Rebase ist ABCD die ursprüngliche Feature-Zweiglinie und ABMC'D' der neue Feature-Zweig Leitung und ABM ist die Hauptzweigleitung (keine Änderung)
3. Empfohlene Nutzungsszenarien
Es gibt so viele Dinge zu tun, aber das ist eigentlich das Wichtigste. Unterschiedliche Unternehmen und unterschiedliche Situationen haben unterschiedliche Nutzungsszenarien, aber in den meisten Fällen lauten die Empfehlungen wie folgt:
Verwenden Sie Rebase, wenn Sie den neuesten Code aus dem öffentlichen Zweig abrufen, also git pull -r oder git pull --rebase. Aber es gibt einen Nachteil, den rebase Von nun an weiß ich nicht mehr, aus welchem Zweig mein aktueller Zweig zuerst gezogen wurde, da sich die Basis geändert hat. (Wenn Sie Merge verwenden, gibt es einen bedeutungslosen Commit-Datensatz „Merge... to...“)
Wenn Sie Code in einem öffentlichen Zweig zusammenführen, verwenden Sie Merge. (Wenn Sie Rebase verwenden und andere Entwickler den Verlauf des Hauptzweigs sehen möchten, ist dies nicht der ursprüngliche Verlauf. Der Verlauf wurde von Ihnen manipuliert.)
Empfohlenes Lernen: „Git Tutorial“
Das obige ist der detaillierte Inhalt vonWas bedeutet Git-Rebase?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

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

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Git ist ein Versionskontrollsystem, und GitHub ist eine GIT-basierte Code-Hosting-Plattform. Git wird verwendet, um Codeversionen zu verwalten und unterstützt lokale Operationen. GitHub bietet Online -Zusammenarbeitstools wie das Problem mit der Ausgabe und PullRequest.

Git und Github sind nicht dasselbe. Git ist ein Versionskontrollsystem, und GitHub ist eine GIT-basierte Code-Hosting-Plattform. Git wird verwendet, um Codeversionen zu verwalten, und GitHub bietet eine Online -Zusammenarbeit.

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

Github ist nicht schwer zu lernen. 1) Meister Sie das Grundwissen: GitHub ist ein GIT-basiertes Versionskontrollsystem, mit dem Code Änderungen und kollaborative Entwicklung nachverfolgt werden. 2) Kernfunktionen verstehen: Versionskontrolle zeichnet jede Einreichung, die Unterstützung lokaler Arbeiten und Remote -Synchronisation auf. 3) Lernen Sie, wie Sie verwendet werden: vom Erstellen eines Repositorys bis hin zum Drücken von Commits bis hin zur Verwendung von Zweigen und Ziehenanforderungen. 4) Lösen Sie gemeinsame Probleme: wie Zusammenführungskonflikte und Vergessen, Dateien hinzuzufügen. 5) Optimierungspraxis: Verwenden Sie aussagekräftige Einreichungsnachrichten, Reinigen Sie Niederlassungen und Verwalten Sie Aufgaben mithilfe der Projektplatine. Durch Praxis und Community -Kommunikation ist Githubs Lernkurve nicht steil.

Schritte zur Aktualisierung von Git -Code: CODEHOUSSCHAFTEN:

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.

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

In Ihrem Lebenslauf sollten Sie sich dafür entscheiden, Git oder GitHub basierend auf Ihren Positionsanforderungen und persönlichen Erfahrungen zu schreiben. 1. Wenn die Position GIT -Fähigkeiten erfordert, markieren Sie Git. 2. Wenn die Position der Positionsbeteiligung bewertet, zeigen Sie GitHub. 3. Beschreiben Sie die Nutzungserfahrung und die Projektfälle im Detail und beenden Sie einen vollständigen Satz.
