Git #1 - Version Control und Repositories

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

Registriere dich um viele Vorteile zu genießen! Weniger Werbung, bessere Kommunikation und vieles mehr!

  • In diesem Lexikoneintrag lernst du was VCS ist, welche Vorteile es bietet und wie man eine Git Repository über die Kommandozeile erstellt und bearbeitet.
    Was versteht man unter Version Control

    Version Control Systeme sind Tools, die einem Developer-Team oder einem einzelnen Developer dabei helfen jede Veränderung am Source Code in einer Datenbank zu speichern und abzurufen. Wenn Fehler gemacht werden können ältere Versionen des Projektes verglichen werden um den Fehler zu finden. Eine Version Control System macht es also einfacher ein Projekt vor Fehlern zu schützen.
    Ein weiterer Vorteil von Version Control Systemen ist, dass einfacher im Team gearbeitet werden kann. So kann jemand an einem neuen Feature arbeiten während jemand anderes Probleme fixt.

    Vorteile von Version Control

    Version Control Systeme (VCS) sind auch unter dem Namen SCM (Source Code Management) Tools bekannt. Mit Git hat man eines der bekanntesten VCS, wenn nicht sogar das populärste. Ein Vorteil, den allerdings die meisten VCS haben ist, dass Git komplett kostenlos und Open Source ist. Die wichtigsten Vorteile von Git sind die Folgenden.

    1. Man verfügt über Branching und Merging. Eine "Branch" in einem VCS zu erstellen, bietet die Möglichkeit mehrere Streams zu nutzen, die unabhängig von einander verändert werden können. Das zweite Feature ist dazu gedacht um zwei Branches wieder zu "mergen", also zusammenzuführen. Man kann verschiedenen Developern den Zugriff auf einzelne Branches verbieten oder ihn erlauben.
    2. Eine komplette Langzeithistory für jede Datei. Diese Veränderungen, die über die Zeit an den Dateien gemacht wurden, beinhalten auch das Erstellen oder Löschen von Dateien. Diese History sollte auch den Namen des Autors beinhalten, das Datum an dem die Änderung vorgenommen wurde und eine Zusammenfassung zu allen Änderungen.


    Erstellung einer Repository

    git init

    Das Kommando git init erstellt eine neue Git Repository. Man kann dies nutzen um aus einem existierenden und unversionierten Projekt eine Git Repository zu machen oder um eine neue leere Repository zu erstellen. Die meisten Git Kommandos sind nicht außerhalb einer initialisierten Repository verfügbar. Dies ist normalerweise das erste Kommando, das du in einem neuen Projekt ausführst.
    Bei der Ausführung von git init wird eine .git Repository erstellt im Root Ordner, die die für Git wichtige Metadata enthält.

    Benutzung

    git init

    Transformiert den aktuellen Ordner in eine Git Repository. Hierbei wird ein .git Ordner erstellt.

    git init <directory>

    Erstellt eine leere Git Repository im angegebenen Ordner. Hierbei wird ein Ordner mit dem Namen des angegebenen Pfades erstellt, in dem nur der .git Ordner ist.

    git init --bare <directory>

    Initialisiert eine leere Git Repository, die aber den Arbeitsordner auslässt. Geteilte Repositories sollten immer mit einem --bare erstellt werden. Normalerweise werden Repositories die mit --bare initialisiert werden in .git erstellt.

    Beispiel

    Da git clone der normalerweise bevorzugte Weg ist um lokale Kopien von einem Projekt zu erstellen, ist die häufigste Verwendung von git init das Erstellen einer zentralen Repository:

    Quellcode

    1. ssh <user>@<host>
    2. cd path/above/repo
    3. git init --bare example.git

    Zuerst musst du dich per SSH zum Server verbinden, der deine zentrale Repository beinhalten soll. Dann navigierst du zum Pfad wo du dein Projekt speichern willst. Dort nutzt du dann --bare um eine zentrale Speicher-Repository zu erstellen. Entwickler müssten dann
    clone example.git
    verwenden um an die Repository heranzukommen.

    git clone

    Das Kommando git clone kopiert eine bereits existierende Git Repository. Das Klonen erstellt automatisch eine Remote-Verbindung zurück zur originalen Repository, sodass es einfach ist mit der zentralen Repository zu interagieren.

    Benutung

    git clone <repo>

    Klont die Repository die sich bei <repo> befindet, auf deine lokale Maschine. Die originale Repository kann im lokalen Dateisystem oder von einer Remote-Maschine aus via HTTP oder SSH bearbeitet werden.

    git clone <repo> <directory>

    Klont eine Repository die sich bei <repo> befindet in den Ordner <directory>.

    Beispiel


    Das Beispiel demonstriert wie man eine lokale Kopie einer zentralen Repository, die auf einem Server gespeichert ist, mit der Domain example.com und dem SSH Usernamen justjofe erstellt:

    Quellcode

    1. git clone ssh://justjofe@example.com/path/to/example.git
    2. cd example
    3. # Nun kann angefangen werden zu arbeiten

    Das erste Kommando initialisiert eine neue Git Repository in dem example Ordner auf deiner lokalen Maschine und fügt die Inhalte der zentralen Repository in diesen ein. Nun kannst du via cd in das Projekt und kannst anfangen Dateien zu editieren, Snapshots "commiten" und mit anderen Repositories interagieren.

    git config

    Das Kommando git config, lässt dich deine Git Installation von der Kommandozeile aus konfigurieren. Dieses Kommando kann alles definieren - von User Infos bis hin zu Voreinstellungen für die Repositories.

    Benutzung

    git config user.name <name>

    Definiert den Namen des Autors, der benutzt wird, für alle Commits in der aktuellen Repository. Normalerweise verwendet man noch --global um die Konfigurationsoptionen für den aktuellen Nutzer zu setzten.

    git config --global user.name <name>

    Definiert den Namen des Autors, der für alle Commits vom aktuellen User genutzt wird.

    git config --global user.email <email>

    Definiert die E-Mail-Adresse des Autors, der für alle Commits vom aktuellen User genutzt wird.

    git config --global alias.<alias-name> <git-command>

    Erstellt einen Shortcut für ein Git Kommando.

    git config --system core.editor <editor>

    Definiert einen Text Editor der von Kommandos wie zum Beispiel git commit verwendet wird. Das <editor> Argument ist das Kommando, der den gewünschten Editor ausführt.

    git config --global --edit

    Öffnet die globale Konfigurationsdatei in einem Text Editor um die Einstellungen manuell zu bearbeiten.

    Beispiel

    Das erste, was du machen solltest, nachdem du Git installiert hast ist, dass du Git deinen Namen/deine E-Mail-Adresse geben solltest und einige Standardeinstellungen bearbeiten solltest. Eine typische Standardkonfiguration könnte in etwa so aussehen:

    Quellcode

    1. git config --global user.name "JustJofe"
    2. git config --global user.email just.jofe@gmail.com

    Quellcode

    1. git config --global core.editor vim<sup></sup>

    Quellcode

    1. git config --global alias.st status
    2. git config --global alias.co checkout
    3. git config --global alias.br branch
    4. git config --global alias.up rebase
    5. git config --global alias.ci commit

    Dies erstellt die ~/.gitconfig Datei aus der vorherigen Sektion.

    335 mal gelesen

Kommentare 2

  • PostCrafter -

    Dir ist da wohl noch ein Editingfehler unterlaufen, der erste Absatz gehört da vermutlich nicht hin.
    Du solltest deinen Beitrag außerdem allgemein noch sprachlich überarbeiten, da die Satzstruktur nicht überall schlüssig ist. Außerdem würde ich ihn etwas deutscher schreiben, so ist beispielsweise ein "Directory" einfach nur ein "Ordner".
    Zudem würde ich auch die Merkmale und Vorteile von Git gegenüber anderen Versionskontrollsystemen anführen.

    • JustJofe -

      Der erste Absatz war die Kurzfassung... Ich wusste nicht genau, was ich dort schreiben soll. Zum Thema Satzstruktur: Ich bin mir nicht sicher, was ich da an einigen Stellen gemacht habe, werde ich jetzt sofort korrigieren.
      // EDIT: Habe jetzt alles verbessert. Hoffe es gefällt dir jetzt besser.