Git: Einführung in das beliebte Versionskontrollsystem

1. Januar 2023

Git ist ein freies und weitverbreitetes Versionskontrollsystem, das von Linus Torvalds, dem Schöpfer des Betriebssystems Linux, entwickelt wurde. Es wird hauptsächlich in der Softwareentwicklung verwendet, um den Fortschritt von Projekten zu verfolgen und Änderungen an Code, Dokumenten und anderen Dateien nachvollziehbar zu machen. Git ist in der Lage, Änderungen an Dateien zeitlich zu ordnen und zu speichern, sodass man jederzeit zu einer früheren Version zurückkehren oder Änderungen rückgängig machen kann. Das macht Git zu einem unverzichtbaren Werkzeug für die Zusammenarbeit in Teams und die Verwaltung von Projekten.

Um Git zu nutzen, muss man es zunächst installieren. Auf Windows- und Mac-Systemen gibt es verschiedene Installationspakete, die man herunterladen und installieren kann. Auf Linux-Systemen ist Git in der Regel bereits vorinstalliert oder kann über das Systempaket-Manager installiert werden.

Wie kann man Git installieren

Git ist auf vielen Systemen bereits vorinstalliert oder kann über den Systempaket-Manager installiert werden. Um Git zu installieren, gibt es jedoch auch spezielle Installationspakete, die man herunterladen und installieren kann.

Hier sind die Schritte, um Git auf den gängigen Betriebssystemen zu installieren:

Windows

  1. Lade das Installationsprogramm von der Git-Website herunter: https://git-scm.com/download/win
  2. Führe das Installationsprogramm aus und folge den Anweisungen auf dem Bildschirm.
  3. Wähle die gewünschten Optionen aus, wie z.B. das Installationsverzeichnis und die zu installierenden Komponenten.
  4. Klicke auf “Installieren” und warte, bis der Installationsprozess abgeschlossen ist.
  5. Öffne eine Eingabeaufforderung und gib
    git --version

    ein, um zu überprüfen, ob Git erfolgreich installiert wurde.

Mac

  1. Lade das Installationsprogramm von der Git-Website herunter: https://git-scm.com/download/mac
  2. Führe das Installationsprogramm aus und folge den Anweisungen auf dem Bildschirm.
  3. Wähle die gewünschten Optionen aus, wie z.B. das Installationsverzeichnis und die zu installierenden Komponenten.
  4. Klicke auf “Installieren” und gib, wenn nötig, das Administratorkennwort ein.
  5. Öffne ein Terminal und gib
    git --version

    ein, um zu überprüfen, ob Git erfolgreich installiert wurde.

Auf Mac mit Homebrew

Homebrew ist ein Paket-Manager für MacOS, der es ermöglicht, verschiedene Software-Tools und -Bibliotheken über die Kommandozeile zu installieren. Um Git mit Homebrew zu installieren, gibt man in einem Terminal die folgenden Befehle ein:

  1. Gib
    brew update

    ein, um die Liste der verfügbaren Pakete zu aktualisieren.

  2. Gib
    brew install git

    ein, um Git zu installieren.

  3. Warte, bis die Installation abgeschlossen ist.
  4. Gib
    git --version

    ein, um zu überprüfen, ob Git erfolgreich installiert wurde.

Sobald Git installiert ist, kann man es über die Kommandozeile nutzen, indem man Git-Befehle eingibt. Um sich mit den verschiedenen Befehlen und Funktionen von Git vertraut zu machen, empfiehlt es sich, die Dokumentation von Git zu lesen oder einen Git-Kurs zu belegen.

Es ist auch möglich, Git über andere Paket-Manager wie z.B. apt auf Linux-Systemen oder über spezielle Installationspakete auf Windows- und MacOS-Systemen zu installieren. Die genauen Schritte hängen vom verwendeten Paket-Manager und Betriebssystem ab.

Linux

Die Installation von Git auf Linux-Systemen hängt vom verwendeten Systempaket-Manager ab. Hier sind die Schritte zur Installation von Git mit dem Paket-Manager apt, der auf vielen Linux-Distributionen verwendet wird:

  1. Öffne ein Terminal und gib
    sudo apt update

    ein, um die Liste der verfügbaren Pakete zu aktualisieren.

  2. Gib
    sudo apt-get install git

    ein, um Git zu installieren.

  3. Gib das Administratorkennwort ein, wenn nötig.
  4. Warte, bis die Installation abgeschlossen ist.
  5. Gib
    git --version

    ein, um zu überprüfen, ob Git erfolgreich installiert wurde.

Es ist auch möglich, Git mit anderen Systempaket-Managern zu installieren, wie z.B. yum oder dnf auf CentOS oder Fedora, oder pacman auf Arch Linux. Die genauen Schritte hängen vom verwendeten Systempaket-Manager und der Linux-Distribution ab.

Sobald Git installiert ist, kann man es über die Kommandozeile nutzen, indem man Git-Befehle eingibt. Um sich mit den verschiedenen Befehlen und Funktionen von Git vertraut zu machen, empfiehlt es sich, die Dokumentation von Git zu lesen oder einen Git-Kurs zu belegen.

Sobald Git installiert ist, kann man es über die Kommandozeile verwenden. Dazu öffnet man eine Kommandozeile (z.B. den “Terminal” auf Mac oder Linux, oder die “Eingabeaufforderung” auf Windows) und gibt Git-Befehle ein.

Einer der ersten Schritte bei der Nutzung von Git ist das Erstellen eines lokalen Repositories. Ein Repository (kurz “Repo”) ist ein Verzeichnis, in dem Git alle Änderungen an Dateien verfolgt und verwaltet. Um ein Repo zu erstellen, gibt man in der Kommandozeile git init ein und wechselt in das Verzeichnis, in dem das Repo angelegt werden soll. Git legt dann im Verzeichnis eine neue Datei namens .git an, in der alle Änderungen gespeichert werden.

Sobald man ein Repo erstellt hat, kann man damit beginnen, Änderungen an Dateien zu verfolgen. Dazu gibt man zunächst git add ein, gefolgt vom Namen der Datei oder des Verzeichnisses, das hinzugefügt werden soll. Dies fügt die Änderungen dem sogenannten Staging-Bereich hinzu, in dem sie für den nächsten Commit bereitstehen. Anschließend gibt man git commit ein, um die Änderungen endgültig zu speichern und ihnen eine Commit-Message (eine Beschreibung der Änderungen) zu geben.

Um Änderungen von anderen Nutzern in das eigene Repo zu holen, kann man git pull verwenden. Dies lädt die Änderungen von einem Remote-Repository (z.B. auf GitHub) herunter und integriert sie in das lokale Repo. Um Änderungen, die man lokal vorgenommen hat, zu einem Remote-Repo hochzuladen, verwendet man git push.

Es gibt noch viele weitere Befehle und Funktionen in Git, wie zum Beispiel git branch zur Verwaltung von Branches, git merge zum Integrieren von Änderungen von einem Branch in einen anderen und git tag zum Markieren von wichtigen Commits. Um Git effektiv nutzen zu können, empfiehlt es sich, sich mit den verschiedenen Befehlen und Funktionen vertraut zu machen und sich in der Dokumentation von Git weiterzubilden.

Git: Projektverwaltung für Entwickler und DevOps-Teams. Inkl. Praxistipps und Git-Kommandoreferenz
Git Schnelleinstieg: Versionsverwaltung lernen in 14 Tagen. Einfach und ohne Vorkenntnisse; inkl....
Git Handbuch für Einsteiger: Der leichte Weg zum Git-Experten
Letztes Preisupdate:22. Februar 2024 12:20

Git-Befehle

Git wird über die Kommandozeile verwendet, wobei man verschiedene Befehle eingibt, um bestimmte Aktionen auszuführen. Hier sind einige der wichtigsten Git-Befehle:

git init

Der Befehl git init wird verwendet, um ein neues Git-Repository (Repo) zu initialisieren. Ein Repo ist der Ort, an dem Git die Änderungen an den Dateien und die Versionshistorie verwaltet. Mit git init wird im aktuellen Verzeichnis ein neues Repo erstellt. Es ist auch möglich, ein neues Repo in einem bestimmten Verzeichnis zu erstellen, indem man den Pfad zu diesem Verzeichnis als Argument an den Befehl anhängt.

git add

Der Befehl git add dient dazu, Änderungen an Dateien dem nächsten Commit hinzuzufügen. Mit git add können einzelne Dateien, mehrere Dateien oder sogar ganze Verzeichnisse ausgewählt werden, die hinzugefügt werden sollen. Zum Beispiel könnte man git add file1.txt verwenden, um nur die Datei file1.txt dem nächsten Commit hinzuzufügen, oder git add ., um alle Dateien im aktuellen Verzeichnis dem Commit hinzuzufügen.

Bevor man eine Datei mit git add hinzufügt, muss man sie zunächst mit git add dem sogenannten Staging-Bereich hinzufügen. Der Staging-Bereich ist eine Art Zwischenspeicher, in dem alle Änderungen bereitstehen, um im nächsten Commit gespeichert zu werden. Mit git add werden die Änderungen also erst dem Staging-Bereich hinzugefügt und erst im nächsten Commit endgültig gespeichert.

Es ist auch möglich, den Staging-Bereich mit dem Befehl git reset zurückzusetzen, um Änderungen wieder aus dem Staging-Bereich zu entfernen. Dies kann zum Beispiel nützlich sein, wenn man Änderungen hinzugefügt hat, die man doch nicht im nächsten Commit speichern möchte.

Der Befehl git add ist also ein wichtiger Bestandteil des Git-Workflows, um Änderungen an Dateien für den nächsten Commit vorzubereiten.

git commit

Der Befehl git commit wird verwendet, um die Änderungen, die mit git add hinzugefügt wurden, endgültig zu speichern und ihnen eine Nachricht (Commit-Message) zu geben, die beschreibt, was in diesem Commit enthalten ist. Ein Commit stellt einen Zeitpunkt in der Versionshistorie dar und kann jederzeit wiederhergestellt werden. Um einen Commit durchzuführen, gibt man git commit ein und fügt anschließend die Commit-Message in Anführungszeichen ein, z.B. git commit -m "Meine Änderungen am Code".

git branch

Der Befehl git branch dient zur Verwaltung von Zweigen (Branches) in einem Repo. Ein Branch ist eine unabhängige Linie von Commits, die parallel zur Hauptlinie (dem Master-Branch) verläuft und in der eigene Änderungen vorgenommen werden können, ohne die Hauptlinie zu beeinflussen. Mit git branch kann man neue Branches erstellen, bestehende Branches löschen oder die Liste aller Branches im Repo anzeigen. Zum Beispiel könnte man git branch feature-x verwenden, um einen neuen Branch mit dem Namen “feature-x” zu erstellen, oder git branch -d feature-x, um den Branch “feature-x” zu löschen.

git merge

Der Befehl git merge wird verwendet, um Änderungen von einem Branch in einen anderen zu integrieren. Dieser Prozess wird als Merging bezeichnet. Zum Beispiel könnte man Änderungen, die in einem Feature-Branch vorgenommen wurden, in den Master-Branch mergen, um sie in die Hauptlinie zu integrieren. Um ein Merge durchzuführen, wechselt man zunächst in den Branch, in den die Änderungen integriert werden sollen (z.B. den Master-Branch) und gibt dann git merge ein, gefolgt von dem Namen des Branches, von dem die Änderungen kommen (z.B. git merge feature-x).

git pull

Der Befehl git pull wird verwendet, um Änderungen, die in einem Remote-Repository (z.B. auf GitHub) vorgenommen wurden, in das lokale Repository herunterzuladen und zu integrieren. Mit git pull kann man also die neuesten Änderungen, die von anderen Nutzern gemacht wurden, in das eigene Repo holen und somit immer auf dem aktuellsten Stand bleiben.

Der Befehl git pull führt im Hintergrund zwei Schritte aus: zunächst werden die Änderungen mit git fetch heruntergeladen und im lokalen Repo gespeichert, aber noch nicht integriert. Danach werden die heruntergeladenen Änderungen mit git merge in den aktuellen Branch integriert.

Um git pull auszuführen, gibt man git pull ein und fügt den Namen des Remote-Repos und den Namen des Branches als Argumente hinzu, von dem die Änderungen geholt werden sollen. Zum Beispiel git pull origin master, um die Änderungen im Master-Branch des Remote-Repos “origin” zu holen.

Es ist auch möglich, git pull mit bestimmten Optionen aufzurufen, um das Verhalten von git fetch und git merge zu beeinflussen. Zum Beispiel kann man mit git pull --rebase anstelle von git merge git rebase ausführen, um die Historie des Branches umzustrukturieren.

Der Befehl git pull ist ein nützliches Werkzeug, um die neuesten Änderungen von anderen Nutzern in das eigene Repo zu holen und um immer auf dem aktuellsten Stand zu bleiben. Es ist jedoch wichtig, immer daran zu denken, dass git pull Änderungen integriert und somit die Historie des Repos verändert. Daher sollte man git pull mit Vorsicht verwenden und sicherstellen, dass man die Auswirkungen auf den Branch und das Repo versteht, bevor man es ausführt.

git push

Der Befehl git push wird verwendet, um Änderungen, die man lokal in einem Repo vorgenommen hat, zu einem Remote-Repository (z.B. auf GitHub) zu übertragen. Mit git push kann man Commits, die man lokal gemacht hat, zu einem Remote-Repo hochladen und somit für andere Nutzer sichtbar machen. Um einen Push durchzuführen, gibt man git push ein und fügt den Namen des Remote-Repos und den Namen des Branches als Argumente hinzu, z.B. git push origin master.

Weitere Git-Features und -Funktionen

Dies sind nur einige der grundlegenden Git-Befehle, es gibt jedoch noch viele weitere Features und Funktionen, die Git bietet. Hier sind einige Beispiele:

  • Git-Tags: Mit Git-Tags können wichtige Commits markiert und beschriftet werden, z.B. als Release-Versionen oder als Meilensteine im Projektfortschritt.
  • Git-Stash: Mit Git-Stash kann man Änderungen temporär zwischenspeichern, um zu einem anderen Branch zu wechseln oder um einen Merge-Konflikt zu lösen, ohne die Änderungen zu verlieren.
  • Git-Revert: Mit Git-Revert kann man Änderungen rückgängig machen und zu einer früheren Version eines Repos zurückkehren.
  • Git-Rebase: Mit Git-Rebase kann man die Historie eines Branches umstrukturieren, indem man Änderungen von einem Branch auf einen anderen “rebaset”.

Q&A

git fetch wird verwendet, um Änderungen, die in einem Remote-Repository vorgenommen wurden, in das lokale Repository herunterzuladen, ohne sie in den aktuellen Branch zu integrieren. git pull führt hingegen git fetch aus und integriert die heruntergeladenen Änderungen anschließend in den aktuellen Branch.
Um den letzten Commit in Git rückgängig zu machen, kann man git revert verwenden. Dies fügt einen neuen Commit hinzu, der die Änderungen des letzten Commits rückgängig macht. Alternativ kann man auch git reset verwenden, um den letzten Commit zu entfernen und die Änderungen zurück in den Staging-Bereich zu setzen.
Um einen Branch in Git zu löschen, gibt man git branch -d ein, gefolgt vom Namen des zu löschenden Branches. Beispiel: git branch -d feature-branch. Wenn der Branch, der gelöscht werden soll, noch nicht in den aktuellen Branch integriert wurde, wird er gelöscht. Wenn der Branch bereits integriert wurde, muss man stattdessen git branch -D verwenden, um ihn zu löschen.
Ein merge conflict entsteht, wenn Git nicht automatisch entscheiden kann, welche Änderungen in einem merge übernommen werden sollen. In solchen Fällen muss der Nutzer manuell entscheiden, welche Änderungen behalten werden sollen und welche verworfen werden. Um einen merge conflict in Git zu lösen, muss man die Datei mit dem Conflict öffnen und die Änderungen manuell bearbeiten. Git markiert die Konfliktstellen in der Datei mit speziellen Zeichen, die den Nutzer darauf hinweisen, dass manuelle Eingriffe erforderlich sind. Sobald der Conflict gelöst ist, kann man git add verwenden, um die geänderte Datei dem Staging-Bereich hinzuzufügen, und anschließend git commit, um den merge abzuschließen.
git stash wird verwendet, um Änderungen, die im aktuellen Branch vorgenommen wurden, temporär zu verstecken, um z.B. zu einem anderen Branch zu wechseln oder einen merge durchzuführen. Die versteckten Änderungen werden in einem sogenannten “stash” gespeichert, von dem sie später wiederhergestellt werden können. git stash pop hingegen wird verwendet, um die Änderungen aus dem stash wiederherzustellen und gleichzeitig den stash zu entfernen.
Um die letzten Änderungen an einer Datei in Git rückgängig zu machen, kann man git checkout verwenden. Dies setzt die Datei auf den Stand des letzten Commits zurück. Beispiel: git checkout path/to/file.txt. Alternativ kann man auch git restore verwenden, um die Änderungen in den Staging-Bereich zurückzusetzen.
git clone wird verwendet, um eine Kopie eines existierenden Git-Repositories herunterzuladen und auf dem lokalen System zu erstellen. Beim Clonen werden alle Commits, Branches und andere Objekte des Repositories mitkopiert, sodass man auf dem lokalen System die volle Historie und alle Funktionen des Repositories nutzen kann. git init wird hingegen verwendet, um ein neues, leeres Git-Repository zu erstellen. Mit git init wird ein neuer Ordner mit einer Git-Konfiguration erstellt, aber es werden keine Commits oder Branches kopiert. Stattdessen muss man die Dateien, die man dem Repository hinzufügen möchte, manuell hinzufügen und committen. git init wird hauptsächlich verwendet, um ein neues Repository auf einem lokalen System zu erstellen, bevor man es mit einem Remote-Repository verbindet und die Änderungen hochlädt.
Um einen Remote-Server in Git hinzuzufügen, verwendet man git remote add. Dieser Befehl nimmt zwei Argumente entgegen: den Namen des Remote-Servers und die URL des Repositories. Beispiel: git remote add origin https://github.com/user/repo.git. Der Name des Remote-Servers kann frei gewählt werden, oft wird “origin” verwendet. Nachdem der Remote-Server hinzugefügt wurde, kann man git push verwenden, um Änderungen an den Remote-Server zu senden, und git pull, um Änderungen vom Remote-Server herunterzuladen.
Um den aktuellen Branch in Git zu wechseln, verwendet man git checkout gefolgt vom Namen des Branches, auf den man wechseln möchte. Beispiel: git checkout feature-branch. Wenn der angegebene Branch noch nicht existiert, kann man ihn mit dem -b-Flag erstellen. Beispiel: git checkout -b new-branch.

Fazit

Git ist ein leistungsstarkes Versionskontrollsystem, das in der Softwareentwicklung unverzichtbar ist. Es bietet eine Vielzahl von Befehlen und Funktionen, die es ermöglichen, Änderungen an Dateien zu verfolgen und zu verwalten und somit den Fortschritt von Projekten zu dokumentieren. Git ist einfach zu erlernen und bietet zahlreiche Möglichkeiten, um die Zusammenarbeit in Teams zu verbessern und die Qualität von Code und Dokumenten zu sichern.

Photo by Gabriel Heinzer on Unsplash

Bilder

Videos

Wir freuen uns auf Ihre Meinung

Hinterlasse einen Kommentar

Alternativen-zu.net
Logo