Git

Git ist ein verteiltes Versionskontrollsystem (VCS), das zur Verwaltung von Quellcode in Softwareprojekten verwendet wird. Es ermöglicht Entwicklern, Änderungen nachzuverfolgen, verschiedene Versionen eines Projekts zu verwalten und effizient in Teams zusammenzuarbeiten.

Funktionsweise

Git speichert Codeänderungen in Form von Snapshots. Jeder Commit stellt eine vollständige Momentaufnahme des Repositorys dar. Durch effiziente Deduplizierung speichert Git jedoch nur die Änderungen, die seit dem letzten Commit vorgenommen wurden.

Grundlegender Git-Workflow

  • Änderungen vornehmen: Entwickler bearbeiten Dateien im Arbeitsverzeichnis.
  • Änderungen zur Staging-Area hinzufügen: Mit git add <datei> oder git add . werden Änderungen für den nächsten Commit vorgemerkt.
  • Commit erstellen: Mit git commit -m "Beschreibung der Änderung" wird eine neue Version gespeichert.
  • Änderungen ins zentrale Repository übertragen: Mit git push origin main werden Änderungen in ein zentrales Remote-Repository (z. B. GitHub, GitLab, Bitbucket) übertragen.
  • Aktuelle Änderungen abrufen: Mit git pull holt ein Entwickler die neuesten Änderungen aus dem Remote-Repository.

Beispiel für Git-Nutzung

Ein Entwickler arbeitet an einer neuen Funktion und möchte seine Änderungen verwalten.

Ablauf:

  1. Neues Branch erstellen: git checkout -b feature-login
  2. Code ändern und zum Staging hinzufügen: git add login.js
  3. Commit erstellen: git commit -m "Neue Login-Funktion hinzugefügt"
  4. Branch ins Remote-Repository hochladen: git push origin feature-login
  5. Merge-Request/Pull-Request erstellen: Die Änderungen werden über eine Plattform wie GitHub oder GitLab zur Überprüfung und Integration vorgeschlagen.
  6. Branch in den main-Branch mergen: git checkout main git merge feature-login git push origin main

Vorteile von Git

  • Verteiltes System: Jeder Entwickler hat eine vollständige Kopie des Repositorys und kann auch ohne Internetverbindung arbeiten.
  • Effiziente Speicherung: Git speichert nur Änderungen, nicht vollständige Kopien von Dateien.
  • Branching & Merging: Parallele Entwicklungszweige ermöglichen flexible und sichere Code-Integration.
  • Hohe Geschwindigkeit: Git verarbeitet Änderungen effizient und schnell.
  • Starke Community & Integration: Git wird von Plattformen wie GitHub, GitLab und Bitbucket unterstützt.

Wichtige Git-Befehle

BefehlBeschreibung
git initErstellt ein neues Git-Repository.
git clone <URL>Klont ein bestehendes Repository.
git statusZeigt den aktuellen Status des Repositorys.
git add <datei>Fügt eine Datei zur Staging-Area hinzu.
git commit -m "<Nachricht>"Erstellt einen neuen Commit.
git push origin <branch>Sendet Änderungen an ein Remote-Repository.
git pullHolt die neuesten Änderungen aus dem Remote-Repository.
git branchListet alle Branches auf.
git checkout <branch>Wechselt zu einem anderen Branch.
git merge <branch>Führt einen Branch in den aktuellen Branch zusammen.
git logZeigt den Verlauf der Commits.

Best Practices für Git

  • Regelmäßige Commits: Häufige, kleine Commits erleichtern das Nachverfolgen von Änderungen.
  • Aussagekräftige Commit-Nachrichten: Beschreibungen sollten Änderungen verständlich dokumentieren.
  • Branches nutzen: Entwicklungszweige (z. B. feature, bugfix, hotfix) sollten klar strukturiert sein.
  • Code regelmäßig in main mergen: Lange bestehende, nicht integrierte Branches können zu Konflikten führen.
  • Pull Requests/Merge Requests nutzen: Änderungen sollten vor der Integration überprüft werden.

Noch Fragen?

Du möchtest wissen, wie dieses Thema für Deine IT konkret aussieht? Wir nehmen uns gerne die Zeit genau hinzuhören und Dir Zusammenhänge und Lösungsansätze für Dein ganz individuelles Projekt zu erklären.
Sprich uns an!