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
Powered by w3.css