Boehrsi.de - Blog

Eigenen remote GIT Server nutzen

Erstellt am event Uhr von account_circle Boehrsi in label Development
Eigenen remote GIT Server nutzen Bild

Android Apps zu entwickeln bedarf meiner Meinung nach nicht nur das eigentliche Wissen rund um die Programmierung. Zusätzlich sollte man sich auch mit der Entwicklungsumgebung, Versionsverwaltungen und verschiedenen weiteren Themen auseinandersetzen. Denn ansonsten gibt es sobald man mit mehreren Leuten oder alleine an größeren Projekten arbeitet Probleme. Deswegen gibt es viele Dinge die einem das Leben erleichtern, auch wenn sie vielleicht zu Beginn etwas Arbeit bedürfen. Dazu gehört meiner Meinung nach auch eine gute Versionsverwaltung. In diesem Bereich setzte ich bis dato auf SVN, da mir GIT gelinde gesagt in diversen Bereichen zu kompliziert war. Durch die Arbeit habe ich nun einen wesentlich besseren Zugang zu GIT, auch wenn ich bei weitem noch nicht alles entsprechend beherrsche und lieber auf meine Notizen zurückgreife, als alles aus dem Kopf und dafür vielleicht falsch zu machen. Diesen tieferen Einblick in GIT und meinen geplanten Wechsel zu Android Studio habe ich mir heute Nachmittag zum Anlass genommen und meine drei Android Apps (zwei bereits im Store und eine ist noch in der Konzeptionsphase) auf Android Studio und GIT migriert. Falls auch euch GIT in diesem Bereich interessiert, schaut euch mein kleines How To im unteren Bereich der News an.

Voraussetzungen: Ich beschreibe im folgenden die Installation unter Ubuntu 14.04, wie auf meinem vServer durchgeführt. Solltet ihr andere Linux Distributionen nutzen müssen die Befehlen unter Umständen angepasst werden, unter Windows wird das Vorgehen völlig anders sein. Ein grundsätzlich Verständnis der Linux Konsole wird vorausgesetzt, ebenso wie ein allgemeines Verständnis von Begriffen wie SSH u.ä.. Zusätzlich gilt die Anwendungen dieser Anleitung geschieht wie immer auf eigene Gefahr, bitte führt derartige Dinge nur aus wenn ihr wisst was ihr tut. Meine Anleitung basiert zum Teil auf der Beschreibung von Swapnil Bhartiya via Linux.com open_in_new.

Installation und Vorbereitungen: Zuerst wird die Installation durchgeführt und ein Nutzer erstellt, welchen wir einfach git nennen.

sudo apt-get install git-core
sudo adduser git
passwd git

Um den Zugriff möglichst einfach und zugleich sicher zu gestalten, erstellt euch einen SSH Key oder verwendet einen bestehenden wieder und transferiert ihn auf den Server. Dafür muss in unserem Beispiel der Public Key unter /home/git/.ssh/authorized_keys abgelegt werden. Falls mehrere Nutzer auf das GIT zugreifen sollen, müssen hier alle Public Keys abgelegt werden. Zusätzlich habe ich mit dem ersten der folgenden Befehle, den normalen Login via SSH für den git Nutzer unmöglich gemacht und falls ich ihn trotzdem benutzen muss, wechsle ich mit dem zweiten Befehle auf diesen. Beide Befehle sind bei Bedarf anzuwenden.

usermod -s /usr/bin/git-shell git
sudo -u git /bin/bash

GIT Einrichtung: Nun folgt die serverseitige Einrichtung, welche relativ simpel ist. Wechselt auf den git Nutzer, da es ansonsten Zugriffsprobleme wegen den Rechten geben wird. Im ersten Schritt erstellen wir einen Ordner und wechseln in diesen, anschließend initialisieren wird dort ein leeres GIT, welches später vom Nutzer befüllt wird.

mkdir /home/git/myproject.git
cd /home/git/myproject.git
git init --bare

Als Ergebnis sollte eine Meldung zur Bestätigung erscheinen (Initialized empty Git repository in …) und schon seid ihr auf der Server Seite fertig.

Lokale Anpassungen: Ich nutzte lokal die GIT Bash, welche ihr via GitHub bekommen könnt open_in_new und bin dort wie folgt vorgegangen. Zu erst erstellte ich ein lokales Repository und habe einige Daten hinzugefügt (git add open_in_new) und anschließend folgt ein Commit (git commit open_in_new). Im nächsten Schritt folgt die eigentliche Kommunikation mit dem Server, dafür fügen wir erst einen Remote Host hinzu und pushen dann die Daten auf diesen.

git remote add origin ssh://git@dein-server.de/home/git/myproject.git
git push origin master

Nun sind eure Daten online und synchron. Sollte es Probleme geben prüft als erstes auf dem Server ob der Projektordner dem git Nutzer gehört und die entsprechenden Standard Rechte gesetzt sind. Oder aber prüft lokal ob Zugriff auf euren privaten SSH Key besteht, Pageant open_in_new kann euch Arbeit abnehmen, damit nicht immer nach eurem Password für den Key gefragt wird. Andere Nutzer können das Repository nun clonen und ihr könnt gemeinsam arbeiten.

Related Links
Kommentare  
Kommentar erstellen
Mit dem Abschicken des Kommentars erklären sie sich mit der in der Datenschutzerklärung dargelegten Datenerhebung für Kommentare einverstanden. Spam, unangebrachte Werbung und andere unerwünschte Inhalte werden entfernt. Das Abonnieren via E-Mail ist nur für E-Mail Adressen erlaubt die Sie rechtmäßig administrieren. Widerrechtliche Abonnements werden entfernt.