mk-prg-net \git

Versionsverwaltung mittels Git

Mein GitHub

GIT ist eine von Linus Torvalds entwicklete Versionsverwaltung. Details zur Geschichte findet man hier.

Neben der offiziellen Doku sind auch folgende Tutorials lesenswert: https://www.atlassian.com/git/tutorials.

Workflow

Neues Repository anlegen

Ein neues Repository wird mittels git init angelegt.

Existierendes Repository clonen

Jederzeit kann von einem Repository unter dem URL SRC mittels dem Kommando git clone <SRC> <DEST> eine Kopie in DEST angefertigt werden. Dabei wird der letzte Commit in DEST ausgecheckt. Beispiel: Herunterladen der Projektmappe PlaygroundJS von GitHub in das Verzeichnis PlaygroundJS mittels git clone https://github.com/mk-prg-net/LearnJavaScript.git PlaygroundJS.

Das Clonen ist eine fundamentale Operation im verteilten Versionsverwaltungssystem. Die Quelle befindet sich im einfachsten Fall auf der lokalen Festplatte. Arbeiten an einem Projekt mehrere Personen, dann verwalten diese ihren Code in GIT in eigenen Repositories. Baut ein Entwickler seinen Code auf den Werken der anderen auf, dann clont er die Repositories der anderen in sein eigenes Projekt: mehrere clone- Opeartionen können dasselbe Ziel adressieren !

Die Quell- Repositorys eines Repository werden mit dem Befehl git remote -v aufgelistet.

Änderungen im Repository committen

Zuerst alle noch nicht im Tracking befindliche Dateien eines Verzeichnisses erfassen mit git add <directory>
Dann den die Änderungen durch einen Commit im Repository aufnehmen durch git commit -m "Eine Commitmessage"

Versionsverlauf anzeigen

Die Liste aller Commits und Branches wird angezeit durch git log

Neue Commits mit Server synchronisieren

GitHub bietet z.B. die Möglichkeit, Repositories öffentlich bereitzustellen. Um die Commits im Projektverzeichnis auf dem Entwicklungsrechner mit dem GitHub- Rpository zu synchronisieren, ist das GitHub- Repository zunächst als Quellrepository (origin) festzulegen:
git remote add origin <URL Git Repo>
Wenn zuvor ein anderes Quellrepository unter origin definiert war, dann muss es vor Anwendung des remote add- Befehls mittels remote remove gelöscht werden:
git remote remove origin

Ist das Quell- Repository z.B. auf einem GitHub Server definiert worden, dann können die lokalen commits mit dem Server synchronisiert werden durch:
git push origin master
master bezeichnet dabei den branch, dessen commits mit dem Repo auf dem Server zu synchronimsieren sind.

Git und Visual Studio

Ab Visual Studio, Update 1 ist im Team Explorer eine GIT- GUI integriert (Doku hier). Diese basiert auf den Visual Stuldio Tools for GIT.