Die besten Git-Tutorials

Git ist ein verteiltes Open Source-Versionskontrollsystem, das 2005 von Linus Torvalds und anderen Mitgliedern der Linux-Entwicklergemeinde entwickelt wurde. Git kann mit vielen Arten von Projekten arbeiten, wird jedoch am häufigsten für Software-Quellcode verwendet.

Die Versionskontrolle ist ein System, das Änderungen an einer Datei oder einer Gruppe von Dateien im Laufe der Zeit verfolgt. Wenn Sie einen Verlauf dieser Änderungen haben, können Sie später bestimmte Versionen finden, Änderungen zwischen Versionen vergleichen, möglicherweise gelöschte Dateien wiederherstellen oder Dateien auf frühere Versionen zurücksetzen.

Ein verteiltes Versionskontrollsystem bedeutet, dass verschiedene Benutzer ihre eigenen Repositorys eines Projekts verwalten, anstatt von einem zentralen Repository aus zu arbeiten. Benutzer verfügen automatisch über vollständige Dateiverfolgungsfunktionen und den vollständigen Versionsverlauf des Projekts, ohne Zugriff auf einen zentralen Server oder ein Netzwerk zu benötigen.

Wenn Git in einem Projektverzeichnis initialisiert wird, beginnt es, Dateiänderungen zu verfolgen und speichert sie als "Änderungssätze" oder "Patches". Benutzer, die gemeinsam an einem Projekt arbeiten, senden ihre Änderungssätze, die dann in das Projekt aufgenommen (oder abgelehnt) werden.

freeCodeCamp hat hier eine YouTube-Wiedergabeliste mit vielen praktischen Git- und GitHub-Tipps.

Andere Tutorials:

  • Das Pro Git-Buch, geschrieben von Scott Chacon und Ben Straub und veröffentlicht von Apress. Das Buch wird vollständig in der Git-Dokumentation angezeigt.
  • Für Downloads, Dokumentation und ein browserbasiertes Tutorial: Git offizielle Website
  • Die nützlichsten Befehle, wenn Sie sich in einer schlechten GIT-Situation befinden: Oh s ***, git!

Verstehen Sie die drei Abschnitte eines Git-Projekts

Ein Git-Projekt besteht aus den folgenden drei Hauptabschnitten:

  1. Git-Verzeichnis
  2. Arbeitsverzeichnis (oder Arbeitsbaum)
  3. Bühnenbereich

Im Git-Verzeichnis (in YOUR-PROJECT-PATH/.git/) speichert Git alles, was zur genauen Verfolgung des Projekts erforderlich ist. Dies umfasst Metadaten und eine Objektdatenbank, die komprimierte Versionen der Projektdateien enthält.

Im Arbeitsverzeichnis nimmt ein Benutzer lokale Änderungen an einem Projekt vor. Das Arbeitsverzeichnis ruft die Projektdateien aus der Objektdatenbank des Git-Verzeichnisses ab und legt sie auf dem lokalen Computer des Benutzers ab.

Der Staging-Bereich ist eine Datei (auch als "Index", "Stage" oder "Cache" bezeichnet), in der Informationen darüber gespeichert sind, was in Ihr nächstes Commit aufgenommen wird. Ein Commit ist, wenn Sie Git anweisen, diese bereitgestellten Änderungen zu speichern. Git erstellt einen Snapshot der Dateien wie sie sind und speichert diesen Snapshot dauerhaft im Git-Verzeichnis.

In drei Abschnitten gibt es drei Hauptzustände, in denen sich eine Datei zu einem bestimmten Zeitpunkt befinden kann: Festgeschrieben, Geändert oder Bereitgestellt. Sie ändern eine Datei jedes Mal, wenn Sie Änderungen in Ihrem Arbeitsverzeichnis vornehmen. Als nächstes wird es bereitgestellt, wenn Sie es in den Bereitstellungsbereich verschieben. Schließlich wird es nach einem Commit festgeschrieben .

Installieren Sie Git

  • Ubuntu: sudo apt-get install git
  • Windows: Herunterladen
  • Mac download

Konfigurieren Sie die Git-Umgebung

Git verfügt über ein git configTool, mit dem Sie Ihre Git-Umgebung anpassen können. Sie können das Aussehen und die Funktionen von Git ändern, indem Sie bestimmte Konfigurationsvariablen festlegen. Führen Sie diese Befehle über eine Befehlszeilenschnittstelle auf Ihrem Computer aus (Terminal in Mac, Eingabeaufforderung oder Powershell in Windows).

Es gibt drei Ebenen, in denen diese Konfigurationsvariablen gespeichert sind:

  1. System: Befindet sich in /etc/gitconfig, wendet Standardeinstellungen auf jeden Benutzer des Computers an. Verwenden Sie die --systemOption mit dem git configBefehl, um Änderungen an dieser Datei vorzunehmen .
  2. Benutzer: Befindet sich in ~/.gitconfigoder ~/.config/git/config, wendet Einstellungen auf einen einzelnen Benutzer an. Verwenden Sie die --globalOption mit dem git configBefehl, um Änderungen an dieser Datei vorzunehmen .
  3. Projekt: befindet sich in YOUR-PROJECT-PATH/.git/config, wendet Einstellungen nur auf das Projekt an. Verwenden Sie den git configBefehl, um Änderungen an dieser Datei vorzunehmen .

Wenn es Einstellungen gibt, die miteinander in Konflikt stehen, überschreiben die Konfigurationen auf Projektebene die Konfigurationen auf Benutzerebene und die Konfigurationen auf Benutzerebene die Konfigurationen auf Systemebene.

Hinweis für Windows-Benutzer: Git sucht .gitconfigin Ihrem $HOMEVerzeichnis ( C:\Users\$USER) nach der Konfigurationsdatei ( ) auf Benutzerebene . Git sucht auch nach /etc/gitconfig, obwohl es relativ zum MSys-Stammverzeichnis ist, wo immer Sie sich entscheiden, Git auf Ihrem Windows-System zu installieren, wenn Sie das Installationsprogramm ausführen. Wenn Sie Version 2.x oder höher von Git für Windows verwenden, gibt es auch eine Konfigurationsdatei auf Systemebene C:\Documents and Settings\All Users\Application Data\Git\configunter Windows XP und C:\ProgramData\Git\configunter Windows Vista und höher. Diese Konfigurationsdatei kann nur von git config -f FILEeinem Administrator geändert werden .

Fügen Sie Ihren Namen und Ihre E-Mail-Adresse hinzu

Git enthält den Benutzernamen und die E-Mail-Adresse als Teil der Informationen in einem Commit. Sie möchten dies unter Ihrer Konfigurationsdatei auf Benutzerebene mit den folgenden Befehlen einrichten:

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

Ändern Sie Ihren Texteditor

Git verwendet automatisch Ihren Standardtexteditor, aber Sie können dies ändern. Hier ist ein Beispiel für die Verwendung des Atom-Editors (die --waitOption weist die Shell an, auf den Texteditor zu warten, damit Sie Ihre Arbeit darin ausführen können, bevor das Programm fortgesetzt wird):

git config --global core.editor "atom --wait"

Fügen Sie der Git-Ausgabe Farbe hinzu

Sie können Ihre Shell so konfigurieren, dass sie der Git-Ausgabe mit diesem Befehl Farbe hinzufügt:

git config --global color.ui true

Verwenden Sie den Befehl, um alle Konfigurationseinstellungen anzuzeigen git config --list.

Git in einem Projekt initialisieren

Sobald Git auf Ihrem Computer installiert und konfiguriert ist, müssen Sie es in Ihrem Projekt initialisieren, um die Versionskontrollfunktionen nutzen zu können. Verwenden Sie in der cdBefehlszeile den Befehl, um zum Ordner der obersten Ebene (oder zum Stammordner) Ihres Projekts zu navigieren. Führen Sie als Nächstes den Befehl aus git init. Dadurch wird ein Git-Verzeichnisordner mit allen Dateien und Objekten installiert, die Git zur Verfolgung Ihres Projekts benötigt.

Es ist wichtig, dass das Git-Verzeichnis im Projektstammordner installiert ist. Git kann Dateien in Unterordnern verfolgen, jedoch keine Dateien, die sich in einem übergeordneten Ordner relativ zum Git-Verzeichnis befinden.

Holen Sie sich Hilfe in Git

Wenn Sie vergessen, wie ein Befehl in Git funktioniert, können Sie über die Befehlszeile auf verschiedene Arten auf die Git-Hilfe zugreifen:

git help COMMAND git COMMAND --help man git-COMMAND

Dies zeigt die Handbuchseite für den Befehl in Ihrem Shell-Fenster an. Scrollen Sie zum Navigieren mit den Aufwärts- und Abwärtspfeiltasten oder verwenden Sie die folgenden Tastaturkürzel:

  • foder spacebarum vorwärts zu blättern
  • b zurückblättern
  • q beenden

Unterschied zwischen Git und GitHub

Git und Github sind zwei verschiedene Dinge. Git ist das Versionskontrollsystem, während GitHub ein Dienst zum Hosten von Git-Repos ist, der Menschen hilft, beim Schreiben von Software zusammenzuarbeiten. Sie werden jedoch häufig aufgrund ihres ähnlichen Namens verwechselt, weil GitHub auf Git aufbaut und weil viele Websites und Artikel den Unterschied zwischen ihnen nicht klar genug machen.

Git ist nicht GitHub

Git

Git ist das verteilte Versionskontrollsystem. Git ist dafür verantwortlich, Änderungen am Inhalt zu verfolgen - normalerweise Quellcodedateien.

Für weitere Informationen gibt es einen vollständigen Artikel über Git selbst.

GitHub

GitHub ist ein Dienst, der Git-Repository-Hosting bereitstellt. Das bedeutet, dass sie eine schlüsselfertige Lösung zum Hosten von Git-Repositorys auf ihren Servern bereitstellen. Dies kann nützlich sein, um eine Sicherungskopie Ihres Repositorys zu erstellen (Git verfolgt nur die Änderungen, die im Laufe der Zeit an Ihren Dateien vorgenommen wurden; das Repo muss noch gesichert werden) und um einen zentralen Ort zu haben, an dem Sie Ihren Code aufbewahren und mit anderen teilen können.

GitHub ist mehr als nur ein Git-Repository-Hosting-Service. Das heißt, es bietet auch einen Issue-Tracker, Tools zur Codeüberprüfung und andere Tools für die Zusammenarbeit mit anderen Personen und die Erstellung von Software.

GitHub ist nicht der einzige, der diese Art von Service anbietet. Einer der Hauptkonkurrenten ist GitLab. Weitere Informationen hierzu finden Sie im Abschnitt über Git-Hosting.

So authentifizieren Sie sich mit SSH bei GitHub

Überprüfen Sie, ob hier keine rsaDateien vorhanden sind, bevor Sie fortfahren. Verwenden Sie:

ls -al ~/.ssh

Wenn es nichts zu listen gibt (dh : No such file or directory), verwenden Sie:

mkdir $HOME/.ssh

Wenn dort nichts ist, generieren Sie einen neuen Keygen mit:

ssh-keygen -t rsa -b 4096 -C [email protected]

Jetzt mit ls -al ~/.sshwird unsere id_rsa.pubDatei anzeigen.

Fügen Sie dem SSH-Agenten den SSH-Schlüssel hinzu:

eval "$(ssh-agent -s)" # for mac and Linux from bash
eval `ssh-agent -s` ssh-agent -s # for Windows

Fügen Sie SHH den RSA-Schlüssel hinzu mit:

ssh-add ~/.ssh/id_rsa

Kopieren Sie Ihren Schlüssel in die Zwischenablage

clip < ~/.ssh/id_rsa.pub # Windows
cat ~/.ssh/id_rsa.pub # Linux

Gehen Sie zu Ihrer GitHub-Einstellungsseite und klicken Sie auf die Schaltfläche "Neuer SSH-Schlüssel" und fügen Sie Ihren generierten Schlüssel ein.

Dann authentifizieren Sie sich mit:

ssh -T [email protected]