Git auf dem Server: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Zeile 45: | Zeile 45: | ||
= Verbindung zu entferntem Repository = | = Verbindung zu entferntem Repository = | ||
Auf dem lokalen Rechner: | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
PROJ=taskx | PROJ=taskx |
Version vom 20. Februar 2024, 18:34 Uhr
Links
Zielsetzung
Es soll ein Server so hergerichtet werden, dass dort einfach auf zentrale Git-Repositories zugegregriffen werden kann.
Installation
apt install git
REPO=/home/git/repo
mkdir -p $REPO
chown -R git:git $REPO
Konfiguration
- Wir verwenden hier das SSH-Protokoll zum Zugriff: Benutzer haben Lese- und Schreibzugriff auf die Repositories.
- Eine Alternative zum anonymen Lesezugriff ist das Git-Protokoll: https://git-scm.com/book/de/v2/Git-auf-dem-Server-Die-Protokolle
- Jeder Benutzer, der einen Zugang zu den Repositories haben darf, muss seinen Öffentlichen Schlüssel schicken.
- Dieser öffentliche Schlüssel wird in die Datei /home/git/.ssh/authorized_keys eingetragen:
ssh-rsa AAAAB3Nza...x88AEZIj adam@pluto ssh-rsa BDEa273AX...KrkwlWeF berta@missisouri
Einrichten eines Repositories
- Es soll ein Repository für Projekt taskx eingerichtet werden
- Auf dem Server:
PROJ=taskx
REPO=/home/git/repo/$PROJ.git
mkdir -p $REPO
cd $REPO
git init --bare
chown -R git:git -R .
# Für das Git-Protokoll:
touch git-daemon-export-ok
# für gitweb:
echo "Short project's description" >description
chown -R git:git -R .
sudo -u git git symbolic-ref HEAD refs/heads/main
Verbindung zu entferntem Repository
Auf dem lokalen Rechner:
PROJ=taskx
DOMAIN=git.hamatoma.de
git remote add origin ssh://git@$DOMAIN:/home/git/repo/$PROJ.git
git push --set-upstream origin main
oder
git push --set-upstream origin master