Git Server einrichten (Debian): Unterschied zwischen den Versionen
Aus MattWiki
Matt (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Matt (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 28: | Zeile 28: | ||
== Repository erstmalig befüllen | == Repository erstmalig befüllen == | ||
Dazu muss ein Repository für das Projekt lokal vorbereitet werden, und auf den Server gepusht werden. | Dazu muss ein Repository für das Projekt lokal vorbereitet werden, und auf den Server gepusht werden. | ||
Zeile 36: | Zeile 36: | ||
$ git commit -m 'initial commit' | $ git commit -m 'initial commit' | ||
$ git remote add origin git@gitserver:/opt/git/project.git | $ git remote add origin git@gitserver:/opt/git/project.git | ||
$ git remote -v | |||
$ git push origin master | $ 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 | |||
[[Category:Debian]] | [[Category:Debian]] | ||
[[Category:Git]] | [[Category:Git]] |
Version vom 4. August 2015, 15:14 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