Boehrsi.de - Blog and Community

Boehrsi.de Header Image

Blogpost

Eigenen remote GIT Server nutzen

Eigenen remote GIT Server nutzen Image Eigenen remote GIT Server nutzen Image

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.

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 und bin dort wie folgt vorgegangen. Zu erst erstellte ich ein lokales Repository und habe einige Daten hinzugefügt (git add) und anschließend folgt ein Commit (git commit). 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 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

Abonnieren oder teilen

Ähnliche Beiträge

Kommentare

Kolja Image

Kolja sagt

Hi Daniel,

ich kann nur GitLab auf dem eigenen Server empfehlen. Man bekommt einfach noch ein paar mehr Infos zu se seinen Projekte und kann auch Bugs verwalten und ein Wiki anlegen.

event Erstellungsdatum: So. 25.10.15 - 18:07 Uhr
Boehrsi Image

Boehrsi sagt

Danke für den Tipp :), hatte ich mir auch schon angesehen und sah echt gut aus. Da ich allerdings meistens alleine an meinen Projekten arbeite, bzw. sobald ich dies ändere zu GitHub umziehe, habe ich mich für diese "Low Level" Variante entschieden. Aber nach deiner Empfehlung schaue ich mir GitLab glaube ich nochmal konkreter an und mache vielleicht auch dazu noch ein kleines Tutorial. Danke nochmal. :)

event Erstellungsdatum: So. 25.10.15 - 18:36 Uhr

Kommentar erstellen