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 übernommengit 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 Repositorygit 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 repositorygit 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