Git: Unterschied zwischen den Versionen
Mitja (Diskussion | Beiträge) Repo auf dem Server anlegen |
Bernd (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
= 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. | |||
{{UnderConstruction}} | {{UnderConstruction}} | ||
= Git = | = Git = |
Version vom 19. Dezember 2011, 08:51 Uhr
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.
Diese Wiki-Seite befindet sich gerade im Aufbau und ist noch nicht fertig! Wenn Sie möchten, können Sie gerne Inhalte ergänzen.
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!