CodeGym /Kurse /JAVA 25 SELF /Einführung in Git: Warum Versionskontrolle wichtig ist

Einführung in Git: Warum Versionskontrolle wichtig ist

JAVA 25 SELF
Level 25, Lektion 0
Verfügbar

1. Das Problem ohne Versionskontrolle: Warum das bloße Kopieren von Dateien eine schlechte Idee ist

Beginnen wir mit einer Alltagssituation. Stellen Sie sich vor, Sie arbeiten an Ihrem Java-Projekt. Alles läuft gut, bis der Moment der „Experimente“ kommt. Sie beschließen, etwas zu ändern, haben aber Angst, die funktionierende Version zu beschädigen. Was tun? Natürlich: das Projekt kopieren!

Am Ende tauchen auf Ihrer Festplatte solche „Meisterwerke“ auf:

MyProject/
├── Main.java
├── Main_backup.java
├── Main_final.java
├── Main_final2.java
├── Main_really_final.java
├── Main_really_really_final.java

Kommt Ihnen das bekannt vor? Und nun stellen Sie sich vor, ein Freund stößt zum Projekt dazu. Auch er kopiert Dateien – nur auf seine Art. Wie findet man heraus, welche Version die neueste und funktionierende ist? Wie erfährt man, wer was geändert hat? Wie stellt man alles wieder her, wenn ein Experiment misslingt?

Ohne Versionskontrolle:

  • Geht funktionierender Code leicht verloren oder wird verwechselt.
  • Ein „Rollback“ auf eine ältere Version ist unmöglich.
  • Zu zweit oder zu dritt zu arbeiten ist schwierig.
  • Chaos und Angst vor Experimenten.

Genau diese Probleme lösen Systeme zur Versionskontrolle – wie Git.

2. Warum braucht ein Entwickler Git?

Git – ein leistungsstarkes Versionsverwaltungssystem, das verwendet wird, um Änderungen am Quellcode während der Softwareentwicklung nachzuverfolgen. Es ermöglicht Entwicklern, verschiedene Versionen von Dateien zu speichern und die Arbeit mehrerer Personen an einem gemeinsamen Projekt zu koordinieren.

Grundbegriffe von Git:

Repository

Ein Repository (oder „Repo“) ist der Ort, an dem die gesamte Projektgeschichte gespeichert ist, einschließlich aller Änderungen und Versionen von Dateien.

Commits

commit ist ein gespeicherter Zustand des Projekts. Jeder Commit in Git enthält Informationen darüber, welche Änderungen am Projekt vorgenommen wurden, von wem und wann. Commits bilden die Historie des Projekts und erlauben es, zu jeder früheren Version zurückzukehren.

        gitGraph
        commit id: "1"
        commit id: "2"
        commit id: "3"
        commit id: "4"
        commit id: "5"
        commit id: "6"
    

Jeder Commit ist ein „Schnappschuss“ des Projekts, der auf den vorherigen folgt und so eine fortlaufende Änderungshistorie bildet.

Branches

branch ist eine unabhängige Entwicklungslinie. Standardmäßig erstellt Git den Branch main. Sie können neue Branches für die Entwicklung neuer Features oder Fixes erstellen und sie anschließend wieder in den Haupt-Branch zusammenführen.

        gitGraph
        commit id: "1"
        commit id: "2"
        branch develop
        commit id: "3"
        commit id: "4"
        commit id: "5"
        checkout main
        commit id: "6"
        commit id: "7"
        merge develop
        commit id: "8"
        commit id: "9"
    

Vom Haupt-Branch main zweigt der Branch develop für parallele Entwicklung ab. Nach Abschluss der Arbeit werden die Änderungen aus develop wieder in main zusammengeführt.

3. Wichtige Git-Befehle (das, was „unter der Haube“ passiert)

Nachfolgend finden Sie eine Liste grundlegender Befehle für die Arbeit mit Git im Terminal. Es ist wichtig zu verstehen, welche Befehle allen Operationen zugrunde liegen. Wir halten uns jedoch an den GUI-Ansatz und lernen, all diese Aktionen mithilfe der komfortablen grafischen Oberfläche von IntelliJ IDEA auszuführen. Betrachten Sie diese Befehle als das, was „unter der Haube“ passiert.

Befehl Beschreibung
git init Initialisiert ein neues Git-Repository im aktuellen Verzeichnis.
git clone Klonen eines Repositories von einer URL in ein neues Verzeichnis.
git add Fügt Dateien dem Index für den nächsten Commit hinzu.
git commit Schreibt die vorbereiteten Änderungen in das Repository.
git push Sendet Änderungen vom lokalen Repository an das Remote-Repository.
git pull Aktualisiert den aktuellen Branch mit der neuesten Version aus dem Remote-Repository.
git branch Zeigt an, erstellt oder löscht Branches.
git merge Führt die Änderungen des angegebenen Branches in den aktuellen Branch zusammen.

Diese Befehle sind die grundlegenden Werkzeuge in Git und ermöglichen es, Änderungen am Code, Branches und Merges in Projekten jeder Größe zu verwalten.

        sequenceDiagram
        participant Arbeitsverzeichnis
        participant Staging-Bereich (Staging)
        participant Lokales Repository
        participant Remote-Repository

        Arbeitsverzeichnis ->> Staging-Bereich (Staging): git add (Vorbereiten)
        Staging-Bereich (Staging) ->> Lokales Repository: git commit (Lokal speichern)
        Lokales Repository ->> Remote-Repository: git push (Auf Server senden)
        Remote-Repository ->> Arbeitsverzeichnis: git pull (Updates holen)
    

4. Drei Orte, an denen Ihr Code liegt

Wenn Sie ein Versionskontrollsystem für Ihren Code verwenden, wird er grob gesagt an drei Orten gespeichert:

1. Remote-Repository

Dies ist ein zentraler Ort zur Speicherung Ihres Codes, typischerweise auf Diensten wie GitHub, GitLab oder Bitbucket. Sie bieten zentrale Codeablage und sind die Grundlage für Zusammenarbeit. Das Remote-Repository dient als Integrationspunkt für automatisierte Prozesse wie Build, Test und Bereitstellung von Anwendungen.

2. Lokales Repository

Das lokale Repository ist Ihre persönliche Codekopie auf Ihrem Computer. In diesem Repository können Sie alle Git-Operationen (Commits, Branches, Merges) ohne Internetverbindung durchführen.

3. Arbeitsverzeichnis

Das Arbeitsverzeichnis auf Ihrem Computer enthält die aktuellen Projektdateien, an denen Sie gerade arbeiten. Hier sehen und ändern Sie Dateien, fügen neue Funktionen hinzu oder beheben Fehler.

Diese Komponenten bieten zusammen eine leistungsfähige Infrastruktur für das Management von Quellcode und ermöglichen es Entwicklern, die Projektgeschichte zu steuern und zusammenzuarbeiten.

5. GitHub – Ihr Portfolio

GitHub ist eine führende Webplattform für das Hosting von Quellcode, die das Versionskontrollsystem Git verwendet. Seit der Gründung im Jahr 2008 hat sie sich schnell zu einem der wichtigsten Werkzeuge für Entwickler weltweit entwickelt.

GitHub ermöglicht es Nutzern, Repositories zur Projektverwaltung zu erstellen, Änderungen im Code zu steuern und nachzuverfolgen und mit anderen Entwicklern zusammenzuarbeiten. Für moderne Entwickler ist ein Profil auf GitHub ein wichtiger Teil des Portfolios, das potenziellen Arbeitgebern gezeigt werden kann.

6. Erstellung Ihres ersten Repositories auf GitHub

Schritt 1. Gehen Sie zu https://github.com und registrieren Sie sich.

Schritt 2. Klicken Sie auf die Schaltfläche New repository, um ein neues Repository zu erstellen.

Schritt 3. Legen Sie die Parameter für das Repository fest:

  1. Repository-Name: Wählen Sie einen aussagekräftigen Namen.
  2. Öffentlich oder privat: Für Übungsprojekte ist „Public“ besser, damit es andere sehen können.
  3. Add a README file: Setzen Sie dieses Häkchen unbedingt. Das README ist das „Gesicht“ Ihres Projekts.
  4. Add .gitignore: Klicken Sie auf die Auswahlliste und wählen Sie eine Vorlage für Ihre Sprache.
  5. Choose a license: Kann übersprungen werden.
  6. Klicken Sie auf Create repository.

Schritt 4. Glückwunsch, Ihr erstes Remote-Repository ist erstellt!

7. Installation und Einrichtung von Git

Obwohl man die Grundlagen von Git über Konsolenbefehle lernen kann (wie im Video gezeigt), verwenden in der täglichen Arbeit 99 % der Entwickler die bequemen, in die Entwicklungsumgebung integrierten Werkzeuge. Unser Ziel ist es, Sie so arbeiten zu lassen, wie es Profis tun.

Die Git-Oberfläche in allen modernen IDEs von JetBrains – sei es IntelliJ IDEA für Java/Kotlin, Rider für C# oder PyCharm für Python – ist nahezu identisch. Das bedeutet: Wenn Sie gelernt haben, in einer Umgebung mit Git zu arbeiten, können Sie diese Fähigkeiten leicht in jeder anderen anwenden. Daher verwenden wir IntelliJ IDEA als universelles Beispiel. Alles, was Sie hier sehen, wird in Ihrer bevorzugten IDE genauso aussehen und funktionieren.

Um mit Git auf Ihrem Computer zu arbeiten, muss Git zunächst installiert werden. Wenn Sie IntelliJ IDEA verwenden, wird sie Ihnen wahrscheinlich anbieten, Git automatisch zu installieren, falls es im System nicht gefunden wird. Wir empfehlen, dieses Angebot anzunehmen – das ist der einfachste Weg.

Schließen Sie das aktuelle Projekt über File > Close Project und klicken Sie auf Clone Repository.

Wenn Sie es hingegen manuell installieren möchten, nutzen Sie die offizielle Website: https://git-scm.com/downloads.

8. Ein wenig Historie: main vs. master

Früher hieß der Standard-Branch in Git master. Im Jahr 2020 sind die Entwickler-Community und die größten Plattformen, einschließlich GitHub, jedoch auf den neutraleren Begriff main umgestiegen.

Das ist wichtig zu wissen, da Sie in einigen älteren Artikeln oder Projekten noch auf den Branch master stoßen können. In unseren Vorlesungen und in modernen Projekten wird der Haupt-Branch stets main sein.

Mehr über den Wechsel zu main erfahren Sie unter folgenden Links:

1
Aufgabe
JAVA 25 SELF, Level 25, Lektion 0
Gesperrt
Virtuelle Tierstadt: Kennenlernen der Stimmen 🧬
Virtuelle Tierstadt: Kennenlernen der Stimmen 🧬
1
Aufgabe
JAVA 25 SELF, Level 25, Lektion 0
Gesperrt
Personalisierung von Haustieren: Namen mit super vergeben 🔼
Personalisierung von Haustieren: Namen mit super vergeben 🔼
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION