Der Anfängerleitfaden für Git

Git Guide Featured Image

Git ist ein wunderbares Programm. Es ist ein Versionskontrollwerkzeug, das es Ihnen ermöglicht, die Bearbeitungshistorie einer Datei nahtlos zu verwalten. Auch wenn dies einfach und unimposant erscheinen mag, liegt die Stärke von Git darin, dass Sie diese Historie auf ganze Gruppen von Dateien und Verzeichnissen erweitern können.

Das bedeutet, dass es möglich ist, Git zu verwenden, um jede Änderung in jeder Datei für jedes Verzeichnis zu verfolgen. Dies ist äußerst nützlich, wenn Sie an einem Projekt arbeiten, bei dem Sie einen fortlaufenden Schnappschuss von allem haben möchten, was Sie tun.

Inhaltsverzeichnis

  • Was ist Git?
  • Git installieren
  • Git für ein lokales Projekt verwenden
  • Git für Online-Projekte verwenden
  • Häufig gestellte Fragen

Auch lesen: Wie man bestimmt, ob eine Website legitim und sicher zu verwenden ist

Was ist Git?

Im Kern ist Git ein einfaches Programm zur Historienverfolgung. Es verfolgt die Änderungen über verschiedene Versionen einer Datei. Die Funktionsweise besteht darin, dass Git jedes Mal, wenn Sie eine Datei ändern, einen Hash für diese spezifische Dateiversion erstellt.

Von dort vergleicht und analysiert es diese Hashes mit dem “Git-Baum” des Repositories. Auf diese Weise kann Git nur die Unterschiede zwischen mehreren Dateiversionen speichern.

Git Guide Git Tree Master

Wenn Sie beispielsweise ein Skript unter Git schreiben und ein paar Änderungen daran vornehmen, speichert Git nur den Hash der ersten beiden Änderungen und hasht die aktuelle Datei gegen die ersten beiden. Auf diese Weise kann Git die älteren Versionen rekonstruieren, ohne mehrere Kopien derselben Datei zu speichern.

Git Guide Diff Info

Dieser Ansatz ermöglicht es Ihnen auch, Ihre Dateien und Verzeichnisse problemlos auf ein größeres Projekt zu skalieren. Da Git alle historischen Daten als Hashes speichert, muss es nur auf Ihrem lokalen Computer arbeiten. So können Sie Ihre Arbeit problemlos an andere exportieren und deren Beiträge importieren, ohne externe Verwaltungssoftware zu benötigen.

Git installieren

Git ist ein sehr gängiges Paket in Linux-basierten Betriebssystemen. Daher ist die Installation unglaublich einfach. In den meisten Fällen ist es bereits auf Ihrem System vorinstalliert. Wenn Sie Debian oder Ubuntu verwenden, können Sie apt verwenden, um Git zu installieren:

sudo apt install git

Git Guide Installing Git

Für Fedora oder RHEL verwenden Sie dnf:

sudo dnf install git-all

Wenn Sie Arch Linux verwenden, können Sie Git auch mit pacman installieren:

sudo pacman -S git

Git für ein lokales Projekt verwenden

Die Verwendung von Git auf Ihrem lokalen Computer ist sehr einfach. Das erste, was Sie tun müssen, ist, ein neues Git-Repository zu erstellen. Dessen Hauptzweck ist es, als Container für alle Git-Objekte zu dienen, die Sie für dieses Projekt hinzufügen werden.

In dem Ordner, den Sie verfolgen möchten, führen Sie die folgenden Befehle aus:

cd my-project  
git init

Git Guide Git Init

Sobald dies erledigt ist, erstellt Git einen “ .git”-Ordner im Stammverzeichnis Ihres Projektverzeichnisses. Dies dient sowohl als Marker für das Git-Programm als auch als Speicherordner für alle Git-Objekte für dieses Projekt.

Vorhandene Dateien in Ihr Repository hinzufügen

Mit einem funktionierenden Git-Repository besteht der nächste Schritt darin, vorhandene Dateien in Git zu importieren. Dies liegt daran, dass Git beim ersten Erstellen eines neuen Repositories keine Dateien verfolgt.

Um dies zu tun, können Sie den folgenden Befehl im Stammverzeichnis Ihres Ordners ausführen:

git add .

Dieser Befehl sagt Git, dass es alle Dateien und Ordner im aktuellen Verzeichnis einbeziehen soll. Sie können dies dann bestätigen, indem Sie den folgenden Befehl ausführen:

git diff --cached

Git Guide New Git Ls

Auch lesen: Wie man den Git-Cache leert

Ihr erstes Repository committen

Mit Ihren Dateien jetzt im Repository besteht der nächste Schritt darin, diese Änderungen im Git-Dateisystem zu speichern. Dies stellt sicher, dass alle neuen Dateien in Ihrem Ordner ordnungsgemäß getaggt und gehasht werden. Um dies zu tun, müssen Sie den aktuellen Zustand des Repositories “committen”.

Um dies zu tun, können Sie den folgenden Befehl ausführen:

git commit -a

Dies sagt Git, dass es alles, was es im Cache hat, in das virtuelle Dateisystem schreiben soll.

Von dort aus wird Git Sie nach einer Beschreibung zu diesem spezifischen Commit fragen. Dies ermöglicht es Ihnen, eine kurze Erklärung darüber abzugeben, was es enthält, sowie eine Möglichkeit, diesen Commit von anderen zu unterscheiden. In meinem Fall, da dies mein erster Commit ist, werde ich einfach “Initial Commit” schreiben.

Git Guide First Commit

Damit können Sie jetzt überprüfen, ob Git alle Dateien in Ihrem Verzeichnis erkennt, indem Sie den folgenden Befehl ausführen:

git ls-files

Git Guide New Git Ls

Wenn Git während des obigen Vorgangs einen Fehler ausgibt, dass es Sie nicht erkennen kann, müssen Sie ihm sagen, wer Sie sind. Dies ist so einfach wie die Eingabe:

git config --global user.name "Ihr_Benutzername"  
git config --global user.email "[email protected]"

Grundlegende Dateioperationen in Git

Im Großen und Ganzen funktionieren UNIX-Befehle mit Git. Das bedeutet, dass Sie ls, cp, mv und rm für alle Dateien und Ordner innerhalb eines Git-Repositories verwenden können. Es gibt jedoch eine Reihe spezifischer Befehle, die Sie verwenden können, um Git-Objekte einfach zu manipulieren.

Zum Beispiel können Sie den Unterbefehl ls-tree verwenden, um den Inhalt eines bestimmten Git-Baums sowie den aktuellen Hashwert jeder Datei anzuzeigen.

git ls-tree master

Git Guide New Ls Tree Master

Ein weiterer Befehl, den Sie verwenden können, ist die Git-Version von mv. Dies ermöglicht es Ihnen, Dateien überall innerhalb des Repositories zu verschieben und dennoch ihre Historie beizubehalten.

git mv ./hello.file ./welcome.file

Dies kann hilfreich sein, wenn Sie eine Datei in der Versionskontrolle umbenennen möchten, aber auch die Möglichkeit haben möchten, diese Änderung über Git zurückzusetzen.

In diesem Wissen können Sie den folgenden Befehl ausführen, um eine Datei umzubenennen, ohne ihre Historie zu verlieren.

Git Guide Git Mv

Schließlich bietet Git auch einen Unterbefehl zum Entfernen von Objekten. Ähnlich wie mv können Sie eine Git-Version von rm verwenden, um eine Datei in Ihrem aktuellen Repository zu entfernen. Auf diese Weise können Sie das aktuelle Objekt für diese bestimmte Datei sauber entfernen.

git rm ./old.file

Git Guide Git Rm

Ein Remote-Repository klonen

Es ist auch möglich, ein Remote-Repository auf Ihren lokalen Computer zu importieren. Dies ist nützlich, wenn Sie ein anderes Projekt über das Netzwerk kopieren müssen. Git bietet Ihnen die Möglichkeit, ein bereits vorhandenes Repository zu klonen.

Die Funktionsweise des Klonens besteht darin, dass Git den Baum eines Remote-Projekts vollständig kopiert. Dies ermöglicht es, die gesamte Historie eines Repositories so zu rekonstruieren, wie sie zu diesem bestimmten Zeitpunkt existiert.

git clone https://github.com/git/git.git

Git Guide Cloning Repo

Es ist auch möglich, Repositories zu klonen, die nur in einem lokalen Netzwerk existieren. Dies ist hilfreich, wenn Sie mit anderen Personen über LAN zusammenarbeiten. Darüber hinaus ist der Prozess des Klonens eines Projekts in einem lokalen Netzwerk genau derselbe:

git clone 192.168.1.100:/home/bob/awesome-project

Auch lesen: Wie man Git-Alias verwendet, um Git effizienter zu machen

Git für Online-Projekte verwenden

Damit ist eine weitere Möglichkeit, mit anderen Menschen zusammenzuarbeiten, das Hosting über Dritte. Dabei verwenden Sie einen Remote-Dienst wie Github, um Ihr Projekt über das Internet zu hosten. Dies kann äußerst nützlich sein, wenn Sie eine schnelle und einfache Möglichkeit benötigen, Ihre Arbeit einem großen Publikum zur Verfügung zu stellen.

Git Guide Github Website

Darüber hinaus vereinfacht ein Dienst wie Github den Prozess der Erstellung und Pflege eines Repositories. Daher ist es ein leistungsstarker Dienst, wenn Sie beabsichtigen, an kollaborativen Projekten mit anderen über Remote-Netzwerke zu arbeiten.

Ihr erstes Online-Repository erstellen

Wissen Sie, dass es unglaublich einfach ist, ein Repository über Github zu starten. Sobald Sie sich in Ihrem Konto angemeldet haben, wird die Seite Sie zu Ihrer persönlichen Startseite weiterleiten.

Diese Seite zeigt die neuesten Updates zu den Projekten an, denen Sie derzeit folgen. Dazu gehört eine kurze Historie aller Ihrer Beiträge zu anderen Projekten.

Git Guide Github Landing Page

Von hier aus müssen Sie auf das „+“-Zeichen neben Ihrem Profilbild klicken. Dies öffnet ein kleines Dropdown-Menü, in dem Sie eine Reihe von Aktionen für Ihr Konto auswählen können. Klicken Sie dann auf den Link „Neues Repository“ aus diesem Menü.

Git Guide Github New Repo

Hier können Sie die Details für das Projekt angeben, das Sie online durchführen möchten. Von dort aus müssen Sie eine Reihe von Optionen festlegen, um Ihr Projekt zu verfeinern.

Git Guide New Repo Page

Zuerst müssen Sie einen Repository-Namen für Ihr Projekt angeben. Dies dient als Name, nach dem andere suchen können, wenn sie nach Ihrem Repository suchen.

Als nächstes müssen Sie die Datenschutzeinstellungen für Ihr Projekt festlegen. Sie können zwischen Öffentlich und Privat wählen. Ein öffentliches Repository ermöglicht es anderen, Ihr Projekt online zu suchen, während ein privates Ihnen die Möglichkeit gibt, es nur mit wenigen Personen zu teilen.

Schließlich müssen Sie auf die Schaltfläche „Repository erstellen“ klicken, um Ihr neues Projekt abzuschließen.

Auch lesen: Wie man einen lokalen und einen Remote-Git-Zweig löscht

Github mit Ihrem lokalen Computer verknüpfen

Damit besteht der nächste Schritt darin, Ihren lokalen Computer mit Ihrem Github-Konto zu verknüpfen. Um dies zu tun, müssen Sie zwei Dinge tun:

  • Zuerst müssen Sie einen SSH-Schlüssel für Ihren Computer erstellen. Dies ist ein kurzer kryptografischer Schlüssel, den Sie lokal auf Ihrem Computer generieren können.
  • Schließlich müssen Sie Github Ihren aktuellen SSH-Schlüssel mitteilen. Dies ermöglicht es Ihrem Computer, eine feste Identität gegenüber Github zu haben. Im Gegenzug verwendet es diese Identität, um Sie zu verifizieren, wann immer Sie Ihr Repository aktualisieren.

Ihren SSH-Schlüssel erstellen

Wenn Sie Debian oder Ubuntu verwenden, können Sie SSH mit apt installieren:

sudo apt install ssh

Git Guide Installing Ssh

Von dort aus können Sie dann das Programm ssh-keygen ausführen, um den SSH-Schlüssel zu erstellen:

ssh-keygen -t ed25519 -C "[email protected]"  
ssh-add /home/$USER/.ssh/id_ed25519

Ihren SSH-Schlüssel verknüpfen

Gehen Sie zurück zu Ihrem Github-Dashboard, klicken Sie auf Ihr Profilbild und dann auf Einstellungen.

Git Guide Github Account Settings

Dies öffnet die allgemeinen Einstellungen für Ihr Github-Konto. Von hier aus müssen Sie auf den Link „SSH und GPG-Schlüssel“ im Abschnitt „Zugriff“ in der linken Seitenleiste der Seite klicken.

Git Guide Github Account Ssh Key

Klicken Sie auf die Schaltfläche „Neuer SSH-Schlüssel“ neben der Überschrift „SSH-Schlüssel“. Dadurch wird die Seite zur Schlüsselkonfiguration geladen, auf der Sie den Inhalt Ihres neuen SSH-Schlüssels kopieren können.

Git Guide New Ssh Key Page

Öffnen Sie Ihre Schlüsseldatei (in meinem Fall die id_ed25519.pub-Schlüsseldatei im Verzeichnis „~/.ssh“) in einem Texteditor. Kopieren Sie den Inhalt und fügen Sie ihn in Github ein.

Lokale Commits online pushen

Der letzte Schritt besteht darin, die Inhalte Ihres lokalen Projekts online hochzuladen.

Gehen Sie auf Ihrem lokalen Computer zum Git-Ordner und führen Sie den Befehl aus:

git remote add origin [email protected]:ramcesred/my-project.git

Git Guide Add New Remote Origin

Von hier aus müssen Sie sicherstellen, dass Ihr lokales Projekt sich derzeit im Master-Zweig befindet. Dies ist wichtig, damit Git die richtige Version Ihres Projekts kopiert. Damit können Sie dies sicherstellen, indem Sie den folgenden Befehl ausführen:

git branch -M main

Schließlich pushen Sie den aktuellen Zustand des Projekts online:

git push -u origin main

Git Guide Push Local Repo Online

Herzlichen Glückwunsch! Sie haben jetzt eine grundlegende Arbeitsumgebung für Git-Projekte. Darüber hinaus haben Sie auch eine grundlegende Vorstellung davon, wie Git funktioniert und wie Sie es für sich nutzen können.

Auch lesen: Wie man Git und Git Bash in Windows installiert

Häufig gestellte Fragen

Ist es möglich, die Änderungen, die andere an meinem Online-Git-Projekt vorgenommen haben, zu erhalten?

Ja! Es ist möglich, die Änderungen zu kopieren, die andere an Ihrem Online-Repository vorgenommen haben. Sie können dies tun, indem Sie von Ihrem Remote-Original ziehen.

Sie können ganz einfach alle Updates darauf erhalten, indem Sie den folgenden Befehl ausführen: git pull origin main

Welche Probleme sollte ich beim Verwenden von Git beachten?

Eines der größten Probleme bei der Verwendung von Git ist, dass es viel Speicherplatz benötigt, wenn binäre Dateien gespeichert werden. Dazu gehören alle Dateien, die nicht im Klartext codiert sind, wie Bilder, Office-Dokumentformate und kompilierte Programme.

Dies liegt hauptsächlich daran, dass die Kompressions- und Hash-Algorithmen, die Git verwendet, um Objekte zu speichern, stark zugunsten von Klartextdateien ausgelegt sind. Es ist möglich, Binärdateien unter Versionskontrolle einzuschließen, jedoch ist es eine gute Praxis, sie mit Git zu vermeiden.

Ist es möglich, Dateien in einem Git-Baum nicht einzuschließen?

Ja! Sie können Dateien ganz einfach von einem Commit ausschließen. Sie können eine „.gitignore“-Datei verwenden, um Git zu sagen, dass Sie bestimmte Dateien nicht einbeziehen möchten.

Dies ist eine versteckte Textdatei, die Sie im Stammordner Ihres Repositories erstellen. Darin geben Sie die relativen Pfade von Dateien und Verzeichnissen an, die Sie möchten, dass Git ignoriert.

Bildnachweis: Unsplash