Git: Unterschied zwischen den Versionen

Aus schokokeks.org Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
(Unsinnigen ssh-link nicht erstellen mit nowiki)
 
(2 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Box
| title = Warning
| content = Diese Anleitung wurde von einem Kunden bereitgestellt. Wir empfehlen wenn dies möglich ist Gitolite nicht manuell zu installieren, sondern die von uns zentral verwaltete Instanz zu nutzen. Sie können Repositories und Accounts in unserem Konfigurationsinterface unter dem Punkt Benutzeraccounts / Git-Zugänge einrichten.
| image = Construction.png
| background = white
| border_color = red
| border_thickness = 2px
}}


= Git über SSH =
= Git über SSH =
Zeile 4: Zeile 13:
== Direkt im Benutzeraccount ==
== Direkt im Benutzeraccount ==
Die einfachste Methode ohne besondere Konfiguration besteht darin, ein GIT-Repository in Ihrem Benutzeraccount anzulegen und per SSH darauf zuzugreifen. Der Zugriff erfolgt dann z.B. mittels  
Die einfachste Methode ohne besondere Konfiguration besteht darin, ein GIT-Repository in Ihrem Benutzeraccount anzulegen und per SSH darauf zuzugreifen. Der Zugriff erfolgt dann z.B. mittels  
  git remote add origin ssh://benutzer@zucker.schokokeks.org/~/git/my-repo.git
  <nowiki>git remote add origin ssh://benutzer@zucker.schokokeks.org/~/git/my-repo.git</nowiki>
Diese Methode steuert den Zugriff nicht separat sondern erfordert eine SSH-Anmeldung um das Repository lesen und schreiben zu können. Ein Arbeiten mit mehreren Entwicklern ist damit nicht empfehlenswert.
Diese Methode steuert den Zugriff nicht separat sondern erfordert eine SSH-Anmeldung um das Repository lesen und schreiben zu können. Ein Arbeiten mit mehreren Entwicklern ist damit nicht empfehlenswert.


Zeile 15: Zeile 24:
Sie können ebenfalls unsere zentrale Installation von Gitolite nutzen. Das Verfahren arbeitet ebenfalls über SSH-Keys.  
Sie können ebenfalls unsere zentrale Installation von Gitolite nutzen. Das Verfahren arbeitet ebenfalls über SSH-Keys.  


{{UnderConstruction}}
Im Webinterface finden Sie unter "Benutzeraccounts" den Unter-Punkt "GIT-Zugänge". Dort können Sie öffentliche SSH-Schlüssel hinterlegen und Repositories anlegen.
 
 
= Git =
== erste Konfiguration ==
Zunächst sollte man sich Git vorstellen (am Besten sowohl auf dem Server, als auch auf dem eigenen Rechner).
git config --global user.name "Ihr Name"
git config --global user.email "yourmail@example.com"
 
== Repository lokal erstellen ==
Dieser Abschnitt soll und kann die Lektüre einer ordentlichen Anleitung nicht ersetzen und dient eher zur Erinnerung.
REPOSITORY="my-repository.git"
mkdir $REPOSITORY
cd $REPOSITORY
git init
git add .
git commit -a
 
Weitere Dateien/Verzeichnisse/Muster hinzufügen:
git add foo
git add *bar
git commit -a
 
= Git-Server mit ssh =
== Repository auf dem Server anlegen ==
Auf dem Server müssen die Dateien nicht als "working directory" vorhanden sein, es reicht die Datenstruktur "unter der Haube".
Ein solches Verzeichnis/Repository legt man mit
mkdir ~/git/my-repo.git && cd ~/git/my-repo.git
git --bare init
an.
 
=== lokales Repository hochladen ===
Das lokale Repository lässt sich nun als Kopie des (noch leeren) Repositorys auf dem Server konfigurieren. Danach werden die lokalen Dateien mit dem ersten push übertragen.
git remote add origin ssh://schokokeks.org/~/git/my-repo.git
git push origin master
 
Jetzt lässt sich das Repository wie üblich nutzen.
 
= Git-Server mit WebDAV =
 
Dieser Artikel erläuterte, wie man auf schokokeks.org einen Git-Server über HTTP mit [[WebDAV]] einrichten kann.
 
Leider ist ''git-http-push'' fehlerhaft und wird in Zukunft in Git eventuell sogar komplett deaktiviert werden.
Bei Benutzung von ''git-http-push'' wird das Repository manchmal reparabel, manchmal irreparabel beschädigt, es besteht Gefahr des '''Datenverlusts'''!
 
Normales Arbeiten ist damit zumindest nicht möglich. Daher wird von der Benutzung abgeraten!

Aktuelle Version vom 10. Februar 2019, 13:26 Uhr

Warning

Diese Anleitung wurde von einem Kunden bereitgestellt. Wir empfehlen wenn dies möglich ist Gitolite nicht manuell zu installieren, sondern die von uns zentral verwaltete Instanz zu nutzen. Sie können Repositories und Accounts in unserem Konfigurationsinterface unter dem Punkt Benutzeraccounts / Git-Zugänge einrichten.


Git über SSH

Direkt im Benutzeraccount

Die einfachste Methode ohne besondere Konfiguration besteht darin, ein GIT-Repository in Ihrem Benutzeraccount anzulegen und per SSH darauf zuzugreifen. Der Zugriff erfolgt dann z.B. mittels

git remote add origin ssh://benutzer@zucker.schokokeks.org/~/git/my-repo.git

Diese Methode steuert den Zugriff nicht separat sondern erfordert eine SSH-Anmeldung um das Repository lesen und schreiben zu können. Ein Arbeiten mit mehreren Entwicklern ist damit nicht empfehlenswert.

Gitosis / Gitolite

Auf unseren Servern ist Gitolite bzw. Gitosis intalliert und kann von jedem Benutzer in seinem eigenen Home-Verzeichnis benutzt werden.

Bei diesem Verfahren authentifizieren sich die Entwickler per SSH-Key, somit kann einem Entwickler Zugriff auf ein Repository eingeräumt werden ohne Shell-Zugriff zu erlauben. Es gibt einige Unwegsamkeiten um einen normal betriebenen Benutzeraccount mit gitosis bzw. gitolite zu nutzen. Wir raten davon ab.

zentral administriertes Gitolite

Sie können ebenfalls unsere zentrale Installation von Gitolite nutzen. Das Verfahren arbeitet ebenfalls über SSH-Keys.

Im Webinterface finden Sie unter "Benutzeraccounts" den Unter-Punkt "GIT-Zugänge". Dort können Sie öffentliche SSH-Schlüssel hinterlegen und Repositories anlegen.