Git Beschreibung für Einsteiger die Git als zentrales Versionierungstools verwenden möchten ohne jedoch die Cloud oder eigenen Git Server zu verwenden. Hier am Beispiel Git auf einem Netzlaufwerk eines QNAP NAS.
Software zu erstellen ohne Versionierungssystem ist wie Autofahren ohne Gurt. Bisher verwendete ich immer SVN um meinen Sourcecode zu versionieren, aber nachdem ich etwas mit Git gespielt habe, gefällt es mir immer besser und besser und löse gerade SVN mit Git ab. Warum und wie erkläre ich hier.
Nachdem ich von SVN komme, war ich natürlich positiv überrascht, dass es Tortoise auch für GIT gibt und für Windows ist das wohl auch der beste GIT Client.
Tortise kann von https://tortoisegit.org/ heruntergeladen und installiert werden.
Git wurde entwickelt um lokal verwendet zu werden. Dafür können beliebig viele Repositories angelegt werden wobei in einem Repository nur ein Projekt enthalten sein sollte. Wer wissen möchte wie Git genau funktioniert und wie die Versionierung im Hintergrund funktioniert kann sie hier https://git-scm.com/ etwas umsehen.
Tortoise nistet sich im Kontextmenü des Fileexplorers ein.
Ich habe ein neues Verzeichnis angelegt in dem ich mein Projekt anlegen möchte. In diesem Verzeichnis kann über die rechte maustaste das Kontextmenü geöffnet werden, wo sich jetzt der Punkt "Git Create repository here.." befinden.
Nach einem Klick auf diesen Menüpunkt wird ein Popup geöffnet in dem ausgewählt werden kann ob ein "Bare" Repository ohne Arbeitsverzeichnis angelegt werden will, oder ein normales. Das "Bare" benötigen wir später, hier verwenden wir ein Standard Repository.
Das war alles. Nun kann in diesem Verzeichnis gearbeitet und versioniert werden.
Nachdem in dem Verzeichnis etwas Sourcecode liegt, kann über das Kontextmenü "Git Commit --> "master" ausgewählt werden. Wobei "master" der Zeig ist an dem aktuell gearbeitet wird. Gibt es später mehrere "Branches" kann auch dort der Commit ausgeführt werden.
Beim Commit muss eine Beschreibung angegeben werden und es müssen alle Files markiert werden die in die Versionierung aufgenommen werden sollen. Nun kann der Sourcecode angepasst werden und immer wenn eine neue Version erstellt werden soll wird ein Commit durchgeführt.
Um die Änderungen der verschiedenen Versionen anzuzeigen kann die Funktion "Show Log" aus dem Kontextmenü verwendet werden.
Im Log sieht man oben die unterschiedlichen Versionen. Die gelbe Versionsnummer ist übrigends ein Tag. Der kann auch über das Kontextmenü hinzugefügt werden was ich gerne nutze.
Darunter wird der Kommentar angezeigt den man beim Commit angegeben hat und ganz unten werden die Files angezeigt die in dieser Version verändert wurden.
Im Versionsgraph kann nun eine Version ausgewählt werden und über das Kontextmenü können die Änderungen im Quellcode angezeigt werden. Die Änderungen werden auch angezeigt wenn man das File unten anklickt.
Über das Kontextmenü kann das Arbeitsverzeichnis z.B: auf eine frühere Version zurückgesetzt werden (Switch..), ein neuer Branch (Create Branch..) erzeugt werden, uwm.
Nun arbeite ich mit meinem Desktop PC und 2 Notebooks, weshalb ich meine Repositories gerne zentral auf meinem QNAP NAS haben möchte. Das ganze möchte ich aber nicht in einem Git Server haben, sondern einfach auf dem Netzwerklaufwerk wo ich mir die benötigten Repositories hole, bearbeite und zurückschreibe.
Ein Git Repository auf einem Netzlaufwerk anzulegen funktioniert gleich wie lokal mit dem einen kleinen Unterschied, das man das Repository "Bare" anlegt. Das funktioniert so, dass man sich auf dem Netzlaufwerk ein Verzeichnis anlegt, ein neues Repository erszeut und beim Popup "Bare" wählt.
Nun wird auf dem Netzlaufwerk ein Repository ohne Arbeitsverzeichnis angelegt. Um nun mit dem Repository arbeiten zu können, wird lokal ein Verzeichnis angelegt, in dem Verzeichnis das Kontextmenü geöffnet und "Git Clone" ausgewählt.
Nun kann im lokalen Verzeichnis gearbeitet und versioniert werden wie oben beschrieben.
Um die lokalen Änderungen zentral zu speichern wählt man im Kontextmenü "Push" aus. Damit wird das lokale Repository zurück auf das Netzlaufwerk geschrieben. Das schöne dabei ist, dass man die gesamte History die lokal und eventuell auch offline erzeugt hat so auf das zentrale System schieben kann.
So, das wars. Ich hoffe das hilft den einen oder anderen. Bei Fragen, oder Kritik einfach ab in die Kommentare 🙂
Neueste Kommentare