Git Server einrichten (Debian): Unterschied zwischen den Versionen

Aus MattWiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 47: Zeile 47:
  $ git commit -am 'fix for the README file'
  $ git commit -am 'fix for the README file'
  $ git push origin master
  $ git push origin master
== GitWeb einrichten ==
Das GitWeb-Paket in Debian erstellt automatisch alle notwendigen Dateien.
Benötigte Apache-Module:
* mod_alias
* mod_cgi
* mod_cgid
Aktivieren, falls notwendig (mod_alias ist schon aktiviert):
# a2enmod cgi
# a2enmod cgid
# service apache2 restart
Projektroot anlegen:





Version vom 4. August 2015, 16:56 Uhr

Anleitung, um einen Git-Server unter Debian 8.0 und Apache 2.2 einzurichten.

Quelle: Pro Git-Handbuch v2 von https://git-scm.com/book/en/v2

Es bestehen mehrere Verfahren, um mit einem Git-Server zu kommunizieren:

  • Lokal Dateizugriff via Filesystem
  • HTTP "dumb" Bis Version 1.6.6 → Zugriff via HTTP/HTTPS nur Read-Only
  • HTTP "smart" Ab Version 1.6.6a
  • SSH
  • Git-Protokoll Ohne Authentifizierung, daher schnell und für große Repositories

Nachfolgende Anleitung bezieht sich auf SSH, und erfordert daher SSH Zugriff.


Installation

# apt-get install git gitweb

Neues leeres Repository auf Server anlegen

Wird mit dem User gemacht, in dessen Zugriffsrechtekontext alles passieren soll.

$ cd ~/
$ mkdir git
$ cd git
$ mkdir project.git
$ cd project.git
$ git init --bare
Initialized empty Git repository in ~/git/project.git/


Repository erstmalig befüllen

Dazu muss ein Repository für das Projekt lokal vorbereitet werden, und auf den Server gepusht werden.

$ cd myproject
$ git init
$ git add .
$ git commit -m 'initial commit'
$ git remote add origin git@gitserver:/opt/git/project.git
$ git remote -v
$ git push origin master

Repository auf anderen Client runterladen

$ mkdir git
$ cd git
$ git clone git@gitserver:/opt/git/project.git
$ cd project
$ vim README
$ git commit -am 'fix for the README file'
$ git push origin master

GitWeb einrichten

Das GitWeb-Paket in Debian erstellt automatisch alle notwendigen Dateien.

Benötigte Apache-Module:

  • mod_alias
  • mod_cgi
  • mod_cgid

Aktivieren, falls notwendig (mod_alias ist schon aktiviert):

# a2enmod cgi
# a2enmod cgid
# service apache2 restart

Projektroot anlegen: