Dienstag, 31. Mai 2016

GIT Server einrichten

Im vergangen Post habe ich beschrieben, wie der Umstieg von svn zu git erfolgen kann. Ich hatte bis dahin meine Projekte in einem svn Repository gepflegt, wobei einer meiner Raspberry Pis als SVN Server fungierte. In diesem Post beschreibe ich, wie ein git Server am Beispiel des Raspberry Pis eingerichtet wird.

Dafür gibt es eine grundsätzliche Vorgehensweise, auf die ich zunächst in einem "vereinfachten" Beispiel eingehen werde. Später werde ich noch eine ausführlichere Einrichtung (mit eigenen user für den Server) beschreiben.

1. einfache Konfiguration

Zunächst muss auf dem Target git installiert werden, für die Funktion als Server reich das Paket git-core.

# server
sudo apt-get install git-core

Für das einfache Beispiel arbeiten wir unter dem standard User, am Beispiel des Raspberry Pis also dem User pi. Wie man für den Server einen eigenen User anlegt und konfiguriet, beschreibe ich im Kapitel 2.

Wir wechseln also in das Home Verzeichnis und legen uns einen Stammordner für alle Repositories und darin einen Ordner für das Projekt an. Standardmäßig sollten git Projektordner immer mit *.git benannt werden, da der Pfad auch in der späteren URL verwendet wird.

# server
cd ~
mkdir git_repositories
mkdir projectname.git

Anschließend wird in das Projektverzeichnis gewechslt und ein leeres git Repositorie angelegt.

# server
cd projectname.git
git init --bare
>>Initialisierte leeres Git-Repository in /home/pi/projectname.git/

Damit ist die Server Konfiguration schon abgeschlossen und wir wechseln auf den Entwicklungsrechner.

Wenn man bereits ein vorhandes git Repositorie hat, wechselt man in dieses und fügt den neuen Server als remote hinzu. Falls man noch kein Repositorie hat, legt man dieses zunächst an. Anschließend wird der Stand auf den neuen Server gepushed. Als Beispiel verwende ich die IP meines Servers, diese muss natürlich angepasst werden.

# client
cd projectname
git remote add pi pi@192.168.1.123:/home/pi/projectname.git
git push pi master

# push all tags and branches to server
git push --all pi

Ob die Konfiguration auf dem Entwicklungsrechner korrekt ist, kann man z.b. mittels git remote -v testen. Damit wird sowohl die push als auch die fetch URL des Servers ausgegebe.

# client
$git remote -v
pi  pi@192.168.1.123:/home/pi/projectname.git (fetch)
pi  pi@192.168.1.123:/home/pi/projectname.git (push)

Abschließend kann mit folgendem Kommando das Repositorie vom neuen Server gecloned werden.

git clone pi@192.168.1.123:/home/pi/projectname.git

2. erweiterte Konfiguration

to do

Keine Kommentare:

Kommentar veröffentlichen