Inhaltsverzeichnis
1. Übermittlungsknotendiagramm
2. Tatsächliches Git-Übermittlungsbeispiel
3. Empfohlene Nutzungsszenarien
Heim Entwicklungswerkzeuge Idiot Was bedeutet Git-Rebase?

Was bedeutet Git-Rebase?

Dec 29, 2021 pm 05:04 PM

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.

Was bedeutet Git-Rebase?

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

Was bedeutet Git-Rebase?
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
Nach dem Login kopieren

Das Bild unten zeigt die Rebase. Das endgültige Übermittlungsknotendiagramm erklärt, wie es funktioniert:

Was bedeutet Git-Rebase?

  • 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!)

Was bedeutet Git-Rebase?
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)

Was bedeutet Git-Rebase?


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!

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)

Git vs. GitHub: Versionskontrolle und Code -Hosting Git vs. GitHub: Versionskontrolle und Code -Hosting Apr 11, 2025 am 11:33 AM

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.

Ist Git das gleiche wie GitHub? Ist Git das gleiche wie GitHub? Apr 08, 2025 am 12:13 AM

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.

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

Ist Github schwer zu lernen? Ist Github schwer zu lernen? Apr 02, 2025 pm 02:45 PM

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.

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:

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.

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

Soll ich Git oder Github in meinen Lebenslauf setzen? Soll ich Git oder Github in meinen Lebenslauf setzen? Apr 04, 2025 am 12:04 AM

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.

See all articles