CodeGym /Kurse /Python SELF DE /Arbeiten mit git-Branches in PyCharm

Arbeiten mit git-Branches in PyCharm

Python SELF DE
Level 12 , Lektion 3
Verfügbar

11.1 Branches in Git

Die Arbeit mit Branches in Git ist ein zentraler Aspekt der Versionsverwaltung, der es ermöglicht, mehrere Entwicklungslinien parallel in einem Repository zu führen. Das Branching macht Git zu einem mächtigen Werkzeug für Kollaboration, Experimente und die Verwaltung verschiedener Projektversionen.

Du kannst dir Branches in Git wie Ordner vorstellen, in denen Git dein Projekt kopiert. Du hast einen Hauptordner deines Projekts in deinem lokalen Repositorymaster. Git kann Kopien dieses Ordners erstellen, damit du experimentieren kannst, ohne den funktionierenden Hauptcode zu gefährden. Solche Kopien nennt man Branches.

Branches sind alternative Codeversionen. Angenommen, du möchtest etwas in einem großen Projekt umgestalten oder ein Experiment durchführen, bei dem du dir nicht ganz sicher bist. Wie würdest du ohne Git vorgehen?

Du könntest das Projekt in einen neuen Ordner kopieren und dort alles ändern. Wenn dir das Ergebnis gefällt, kannst du es in den Hauptordner kopieren. Wenn nicht, vergisst du es einfach oder löscht es.

Schauen wir uns ein Beispiel aus dem echten Leben an, zum Beispiel das Schreiben eines Buches:

  1. Du hast ein Manuskript des Buches (Hauptbranch).
  2. Du entscheidest dich, das Ende zu ändern (Erstellen eines neuen Branches).
  3. Du schreibst das neue Ende in ein separates Dokument (Arbeit im neuen Branch).
  4. Wenn das neue Ende besser ist, ersetzt du das alte im Manuskript (Zusammenführen der Branches).
  5. Du löscht das Dokument mit dem neuen Ende (Löschen des Branches).

11.2 Erstellen von Branches

Ein Branch in PyCharm zu erstellen, ist sehr einfach.

Gib den Namen des Branches ein.

PyCharm zeigt sofort den Namen deines aktuellen Branches oben im Menü an:

Was war vorher da?

Zuvor wurde der Name deines ersten und Hauptbranches angezeigt — master.

Jetzt wird test angezeigt, was bedeutet, dass Git (gesteuert von PyCharm) nicht nur einen neuen Branch erstellt hat, sondern auch sofort zu ihm gewechselt ist.

Fügen wir etwas Code in die Datei main.py des aktuellen Branches (test) hinzu und committen ihn.

11.3 Wechseln zwischen Branches

Schritt 1. Branch auswählen.

Jetzt wechseln wir zurück zu unserem alten Branch. Klick oben im Menü, und was sehen wir da?

Mach dir keine Sorgen — das ist ganz einfach:

Local — das ist die Liste der Branches deines lokalen Git-Repositories; hier sind es zwei:

  • test
  • master

Remote — das ist dein entferntes Repository, das sich auf dem GitHub-Server befindet. Wir haben deine Änderungen dort hochgeladen, aber der neue Branch ist dort noch nicht, was Sinn macht. Das Remote-Repository heißt origin, und es gibt dort nur den Branch master.

Recent — das ist die Liste der letzten Branch-Namen, mit denen du gearbeitet hast. Dieser Punkt wurde in PyCharm zur Bequemlichkeit und Geschwindigkeit hinzugefügt.

Der Name origin/master rechts neben dem Namen des lokalen Repositories — das ist der Name des entfernten Repositories, mit dem es gerade synchronisiert ist und wohin die Änderungen gesendet werden.

Schritt 2. — Code des Branches in den aktuellen Ordner laden.

Schritt 3. Überprüfen:.

Bei mir wird der Branch (master) und der alte Code angezeigt.

11.4 Zusammenführen von Branches

Jetzt versuchen wir, den Code aus unseren beiden Branches zusammenzuführen.

Schritt 1. Zuerst fügen wir unserem Projekt noch eine Datei hinzu — init.py und schreiben dort irgendeinen Code hinein.

  • Datei init.py erstellen
  • Code print("Hallo") hineinschreiben
  • Datei committen.

So sehen meine zwei Dateien im Branch master aus:

Schritt 2. Zusammenführen der Branches.

Lass uns die Änderungen, die im Branch test gemacht wurden, in unseren aktuellen Branch (master) einfügen.

Dazu nutzen wir ebenfalls das obere Menü und den Befehl „Merge ‘test’ into ‘master’“.

Schritt 3. Ergebnis überprüfen:.

Überprüfen:

  • Oben wird immer noch der Branch master angezeigt
  • Wir haben zwei Dateien: init.py und main.py
  • Die Datei main.py enthält den Code, der im Branch test hinzugefügt wurde.

11.5 Konflikte beim Zusammenführen

Manchmal treten beim Zusammenführen von Branches Konflikte auf.

Wenn du in einer Datei Änderungen in verschiedenen Branches vornimmst und versuchst, sie zusammenzuführen, kann ein Konflikt auftreten.

Konflikt bei Textdateien

Git ist ein sehr intelligentes System, das Dateitypen erkennt. Wenn du an verschiedenen Stellen von Dateien, die es als Textdateien erkennt, Änderungen vornimmst, wird es die Änderungen einfach von einer Datei in die andere an der passenden Stelle übertragen, wie es ein Mensch tun würde.

Konflikt bei Binärdateien

Aber wenn du Änderungen in einem Bild oder Dokument vornimmst, wird Git nicht versuchen, ihre Teile in einer Datei zusammenzuführen, sondern dir einfach vorschlagen, welche Version der Datei du im aktuellen Branch behalten möchtest.

Manuelle Konfliktlösung:

Wenn du an derselben Stelle einer Textdatei Änderungen vornimmst, wird Git nicht in der Lage sein, die verschiedenen Versionen korrekt zu zusammenzuführen und wird dir vorschlagen, dies manuell zu machen.

So könnte das aussehen:

Was siehst du hier:

  • Links der Inhalt der Datei main.py im Branch master
  • Rechts der Inhalt der Datei main.py im Branch test
  • In der Mitte schlägt dir PyCharm vor, die finale Version des Codes zu schreiben (du kannst auf die Tasten „>>“ und „<<“ klicken, um automatisch Änderungen aus einer der Dateien einzufügen).

Ich habe die Variante master gewählt und den Code manuell ergänzt. Hier ist, was ich habe.

11.6 Änderungshistorie

Noch etwas Nützliches und Interessantes: Du kannst die Änderungshistorie jeder Datei ansehen, indem du auf die Taste Show History klickst. Es gibt zwei Orte, an denen sie sich befinden kann — finde sie.

So sieht die Änderungshistorie bei mir für die Datei main.py aus:

Erklärungen:

  • Links siehst du die Änderungshistorie der bestimmten Datei:
    • Je neuer die Änderung, desto höher; je älter — desto niedriger.
    • Hier wird auch die Historie der Branch-Zusammenführung angezeigt.
  • Rechts — die Änderungen, die in einem bestimmten Commit gemacht wurden.
1
Umfrage/Quiz
Arbeiten mit Git, Level 12, Lektion 3
Nicht verfügbar
Arbeiten mit Git
Arbeiten mit Git
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION