Allgemeines
GIT ist ein verteiltes Versionskontrollsystem, d.h. es ist im Gegensatz zu SVN nicht zwingend ein zentrales Repo auf einem Server notwendig. Ein zentrales Repo kann aber zum Austausch für ein verteiltes Team verwendet werden (s. Bare Repo)
Die Versionsverwaltung wird direkt in einem Projektverzeichnis verwaltet, auf das alle Beteiligten Zugriff erhalten müssen. Das kann auf einer lokalen Maschine sein, auf einem Netzlaufwerk oder einem Server im Internet.
GIT Clients
Zum Einrichten und Verwalten ist ein GIT Client notwendig, der auf der entsprechenden Maschine installiert sein muß, oder auf sie Zugriff erhält (z.B: über SSH, HTTPS o.ä.)
Tutorial
https://githowto.com/
neues Repo einrichten
- im entsprechenden lokalen oder Netzverzeichnis
- Shell:
git init
- GUI:
- Synology NAS:
sudo -u root bash, dann wie Shell
- Eclipse:
- Open Perspective: Git
- Add existing local GIT Repository - Fügt ein vorhandenes Repo zur Ansicht hinzu (muß vorher schon eingerichtet sein)
- Clone GIT Repo and add to view - Klont ein Repo von anderer Location zum angegeben Zielverzeichnis (z.B. von github.com)
- Create new GIT Repo and add to view - neues Repo erstellen (das Verzeichnis darf absolut nichts enthalten !!!!)
- danach das PHP Projekt anlegen (GIT Perspective - Git repositories - Rechtsklick auf Repo - Import Projects - Import using the New Project Wizard)
GIT for Windows
- Wird in den Explorer integriert. Rechtklick auf ein Verzeichnis ->
- GIT GUI here - öffnet die GUI; wenn schon ein GIT-Repo initialisiert wurde, wird es angezeigt, ansonsten gibt es wieder die Varianten:
- Neu erstellen
- Klonen
- Vorhandenes Repo öffnen
- GIT bash here - öffnet die GIT Konsole im angegebenen Verzeichnis
- alternativ kann auch die MSDOS-Eingabeaufforderung im Verzeichnis geöffnet werden. git.exe steht nach Installation von GIT for Windows systemweit zur Verfügung.
Repos synchronisieren
Zugang zu GIT-Repos
- HTTP/HTTPS: hierfür muß ein apache konfiguriert werden, ggf. mit auth basic für Zugriffsbeschränkungen / htpasswd Datei für User/Passwörter
- SSH: GIT bash beinhaltet einen eigenen SSH Client
Debug
vor git Befehle können Optionen zum Debuggen gesetzt werden, z.B. <OPTION> git push origin master
- GIT_CURL_VERBOSE=1
- GIT_TRACE=1