Video: Merge versus Rebase: Wählen Sie mit einem Diagramm
Das Video wird im YouTube-Player im erweiterten Datenschutzmodus abgespielt.
- 6 Min. Video
- Englische Erzählung · English and Arabic Bildunterschriften
- Auf YouTube ansehen
Führen Sie Merge und Rebase von zwei identischen Kopien derselben Divergenz aus, vergleichen Sie die beiden Diagramme, die übergeordneten Elemente und die Dateibäume und lernen Sie die eine Regel kennen, die zwischen ihnen entscheidet: Wer sonst hat bereits Ihre Commits?
Lesen Sie die vollständige Lektion
Der Artikel enthält alle Schritte und Befehle aus dem Video, der Übungsübung und den Fragen.
Videotranskript
Die Erzählung des Videos, Stichwort für Stichwort.
- Zusammenführen oder umbasieren? Die gleiche Arbeit kann gehen zwei verschiedene Geschichten.
- Wir werden beide vom gleichen Start aus starten zeigen und vergleichen.
- Ihr Zweig hat einen Commit. Die aktualisierte Zweig hat einen anderen.
- Beide sind aus demselben Commit hervorgegangen, also auch nicht enthält das andere.
- Bereiten Sie zunächst die Divergenz vor und machen Sie zwei identische Kopien.
- Für einen fairen Test sind dieselben Referenzen und Dateien erforderlich in beiden Exemplaren.
- Hier ist das erste Exemplar. Wir werden uns einmischen dieses hier.
- Und das ist das zweite Exemplar. Wir behalten es unberührt für die Rebase.
- Klicken Sie mit der rechten Maustaste auf „Updated-Main“ und wählen Sie es aus Befehl zusammenführen.
- Wählen Sie unter Aufzeichnen als die Option Immer eine Zusammenführung aus begehen.
- Wählen Sie einmal „Zusammenführen“ und warten Sie auf das Echte Ergebnis.
- Das neue Commit hat zwei Eltern: Ihr commit, dann update-main's.
- Jetzt das zweite Exemplar. Es gibt immer noch die beiden ursprüngliche Commits.
- Klicken Sie erneut mit der rechten Maustaste auf „Updated-Main“ und wählen Sie „ Diesmal Rebase.
- Der Dialog benennt den Zweig und den Ziel. Lassen Sie beide Optionen ausgeschaltet.
- Einmal umbasieren. Git spielt Ihr Commit erneut ab oben auf der aktualisierten Hauptseite.
- Der wiederholte Commit hat also ein neues übergeordnetes Element es bekommt eine neue ID.
- Der alte Commit ist nicht verloren: die Rettung branch zeigt immer noch darauf.
- Vergleichen Sie nun die Dateien. Die Seite ist die in beiden Exemplaren gleich.
- Ebenso der Integrationshinweis. Gleiche Dateien, andere Geschichte.
- Schauen Sie sich die beiden Diagramme an: eine Raute mit a Merge-Commit und eine gerade Linie.
- Welches sollten Sie also verwenden? Fragen Sie, wer sonst noch hat deine Verpflichtungen.
- Wenn andere sie haben, fusionieren Sie sie. Ein Rebase würde ihre Geschichte neu schreiben.
- Wenn die Commits privat sind, gilt dies auch für Rebase sicher und ergibt eine gerade Linie.
- Beides macht Ihren Code nicht besser. Die Regel geht es um Eigentum.
- Beweisen Sie es jetzt im Terminal. Erstens, die Eltern von jedem Tipp.
- Drei IDs für die Zusammenführungskopie: das Commit, und seine beiden Eltern.
- Zwei IDs für die Rebase-Kopie: das Commit, und es ist ein Elternteil.
- Dann die Dateibäume: eine ID, gedruckt zweimal. Gleiche Dateien.
- Die beiden Commit-IDs unterscheiden sich jedoch. Gleich Bäume, verschiedene Geschichten.
- Ändern Sie die Eingabe: Angenommen, Ihre Filiale hätte dies getan kein eigener Commit.
- Eine Standardzusammenführung würde dann schnell vorspulen, ohne Merge-Commit.
- Rebasieren Sie niemals einen Zweig, den jemand anderes verwendet schon hat.
- Wenn die Bäume unterschiedlich sind, vergleichen Sie den Anfang Schiedsrichter zuerst.
- Löschen Sie kein Ergebnis, um die beiden dazu zu zwingen Spiel.
- Übung: Melden Sie die Eltern, die Ausweise und die Bäume aus Ihren eigenen Kopien.
- Als nächstes ordnen, quetschen und formulieren Sie Ihre lokale Commits.