Versionsverwaltung mittels Git
Mein GitHubGIT 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.