Git Quickstart

27 Sep 2017:

Mit Git können Änderungen an allen Dateien in einem Verzeichnis verfolgt werden.

Dieser Artikel ist eine kurze Zusammenstellung der ersten ~10 Git Kommandos die für den einfachen Anfang gebraucht werden.

Zum Einrichten eines Verzeichnis als Git Repository gibt es weiter unten einen eigenen Punkt.

Hier folgen nun Kommandos für die tägliche Arbeit.

Tägliche Arbeit

Alle lokalen Änderungen in die Datenbank eintragen (commit)

 git add .
 git commit -m "Eine Beschreibung der Änderungen"

NOTIZ: -m und die Beschreibung kann auch weggelassen werden, dann öffnet sich der eingestellte Editor. Das ist nicht immer hilfreich und standardmässig vi der nicht ganz einfach zu bedienen ist. Mit der Taste Escape und dem Kommando :q! kommt man hier ohne etwas zu speichern wieder raus :)

Lokale Änderungen mit Serverstand mergen und verschicken (pull + push)

 git pull
 git push

Lokale Änderungen an Datei löschen (checkout)

 git checkout pfad/zur/datei.txt

Lokale Änderungen temporär beiseite legen und zurückholen (stash)

Dies ist z.b. nützlich um einfach zum letzten stabilen Stand zurückzukehren.

Änderungen beiseite legen:

 git stash

Änderungen zurückholen:

 git stash pop

Änderungshistorie grafisch anzeigen

 gitk

Einrichten eines Verzeichnis als Git Repository

Es gibt zwei typische Möglichkeiten ein Git Repository einzurichten:

oder

Ein neues (lokales) Repository anlegen (init)

Benötigt: Verzeichnis mit Dateien die unter Versionskontrolle gestellt werden sollen.

 cd verzeichnis/das/versionisiert/werden/soll
 git init
 git add .
 git commit -m "initial commit"

Optional: Wenn die Arbeit geteilt werden soll, kann ein Serververzeichnis hinzugefügt werden:

 git remote add origin https://beispiel.server.de/nur-ein-beispielverzeichnis
 git push --set-upstream origin master

Ein Repository von einem Server holen (clone)

 git clone https://beispiel.server.de/nur-ein-beispielverzeichnis

In diesem Beispiel, befindet sich nun im Verzeichnis nur-ein-beispielverzeichnis das Repository mit den Dateien.