git

git wurde 2005 von Linus Torwalds für die Linux-Kernel-Entwicklung geschrieben und findet seitdem in der OpenSource-Gemeinde regen Zuspruch. Die große Neuerung gegenüber Subversion ist es, dass es sich bei git um ein verteiltes Repository handelt. Jede Instanz ist selbst ein Repository. Damit ist jeder für die Sicherung seines aktuellen Standes selbst verantwortlich. Versionsstände können über push und fetch zwischen Repositories übertragen werden.

Hier nun einige wichtige Kommandos:

  • Eigenes Repository für den Masterzweig eines anderen Repositories anlegen:

    git clone [--bare] URL [LOCAL_NAME]

    --bare: Das Repository soll nicht für lokale Änerungen genutzt werden, also auf einem Server für andere bereit stehen.

  • Neues lokales Repository anlegen

    git init

  • Lokale Änderungen einpflegen

    git add FILE
    fügt die angegebene Datei entweder neu dem Repository hinzu oder merkt eine geänderte Datei für den nächsten commit vor.

    git commit
    schreibt die zuvor mit git add vorgemerkten Dateien ins Repository.

    git status [-s]
    liefert stets hilfreiche Informationen über den lokalen Zustand.
    -s: Ausgabeformat wie bei Subversion

  • Von welchem Repository wurde mein Repository abgezweigt?

    git remote -v

  • Eigenen Stand ins Stammrepository zurückspielen:

    git push origin LABEL
    LABEL: master oder name eines tags

  • Änderungen im Stammrepository übernehmen

    git fetch OPTIONS
    Ohne weitere Optionen werden alle offenen Zweige des Stammrepository ins lokale Reposirory übernommen.
    -t: übernimmt zusätzlich alle Marken.
    Wird als Option ein Zweig oder eine Marke angegeben, wird nur diese übernommen

    git pull [LABEL]
    holt den aktuellen oder angegebenen Zweig oder Marke ins lokale Repository (wie bei fetch) und arbeitet diesen Stand in den aktuellen Codestand ein.

  • Umgang mit Marken (tags)

    git tag
    zeigt die Marken im lokalen Repository

    git tag MARKE
    legt Marke für den aktuellen Zustand an.

    git tag -d MARKE
    löscht Marke im lokalen Repository.

    git ls-remote --tags
    zeigt die Tags im remote repository

    git checkout [-b] MARKE
    setzt das Repository auf den Zustand MARKE zurück. -b erzeugt gleichzeitig einen Zweig, in dem auch weitergearbeitet werden kann.

  • Umgang mit Zweigen (branches)

    git checkout [-b] ZWEIG [MARKE]
    wechselt nach ZWEIG. Falls ZWEIG noch nicht existiert, kann er mit der Option -b angelegt werden. Falls ein Zweig zu einer existierenden Marke angelegt werden soll, kann diese zusätzlich mit angegeben werden.

    git branch
    zeigt die vorhandenen Zweige an. Der aktuelle Zweig ist mit “*” gekennzeichnet.

    git branch -m Z1 Z2
    benennt Zweig Z1 nach Z2 um.

    git branch -d ZWEIG
    löscht Zweig ZWEIG.

    git switch ZWEIG
    holt, falls nicht lokal vorhanden, den genannten Zweig und wechselt auf ihn.

    git merge ZWEIG
    arbeitet Zweig ZWEIG in die aktuelle Version ein.

    git checkout ZWEIG DATEI
    holt eine einzelne Datei aus einem anderen Zweig


tbc.

Falls Sie ein git-Repository auf einem Server installieren wollen, beachten Sie diesen Eintrag

Letzte Aktualisierung: 31.10.2024