Die einfachste Variante ist, Repositories über die dafür vom Provider zur Verfügung gestellte Oberfläche „SVN DEV ADMIN“ anzulegen. Dabei werden sie in einem mit htaccess-Verzeichnisschutz angelegt und somit vor unbefugtem Zugriff geschützt. Über die Admin-Oberfläche können beliebig viele Benutzer angelegt und sogar in Gruppen unterteilt werden. Dabei kann für jeden Benutzer individuell eingestellt werden, ob er nur Lese-, oder auch Schreibzugriff auf das Repository hat:
Die URL zum klonen des Repositories ist aus der Admin-Oberfläche zu entnehmen: „Git Repositories“ ⇒ Icon „Bearbeiten“ ⇒ URL aus dem Feld „GitClient URL“ kopieren.
Etwas schwieriger wird es hingegen, wenn das Repository ausschließlich per selbst generierten SSH-Key erreichbar sein soll. Diese Variante bietet mehr Sicherheit aber leider auch Nachteile. So ist der Zugriff nur mit dem SSH-User möglich. Dieser hat allerdings dann auch alle Rechte auf dem Webspace, die der Provider ihm eingeräumt hat. Daher ist diese Variante nur empfehlenswert, wenn ausschließlich der Admin der Seite Zugriff auf das Repository haben soll. Hierbei ist es nämlich nicht möglich, mehrere User anzulegen und denen sogar z. B. noch die Schreibrechte zu entziehen. Das neu angelegte Repository kann nur noch ausschließlich per SSH geklont werden.
Um eine sichere SSH-Verbindung zu gewährleisten ist es empfehlenswert, einen SSH-Key zu generieren. Der erstellte private SSH-Key muss auf dem Windows-Client hinterlegt werden.
Aufbau der URL für das Klonen per SSH:
ssh://WEBXXX@SERVERNAME:PORT/PFAD/git/PROJEKTNAME
Die Variablen „WEBXXX“, „SERVERNAME“, „PORT“, „PFAD“ und „PROJEKTNAME“ müssen entsprechend ersetzt werden. Hierbei ist zu beachten, dass der Provider „LCube“ einen vom Standard abweichenden SSH Port verwendet.
Bei jedem Push in den Master-Branch kann das Repositorys automatisch im htdocs-Webverzeichnis ausgecheckt werden. Das heißt, dass Änderungen an der Webseite nach dem Hochladen in Git automatisch auf der Webseite veröffentlicht werden.
Schritt-für-Schritt-Anleitung: Hook erstellen
Hinweis: Um Fehler zu vermeiden sollte idealerweise in der Testumgebung die gleiche PHP-Version installiert sein wie auf dem Webserver beim Provider.
Zum Klonen mit dem Windows-Explorer auf Ihrem lokalen PC in das Arbeitsverzeichnis in der Testumgebung wechseln und im Kontextmenü „Git Clone…“ aufrufen. Hier die URL ausfüllen, die Option „Load Putty Key“ aktivieren und den Putty-Key auswählen.
Git konfigurieren
Vor dem ersten Commit sollte der Benutzername und die E-Mail-Adresse des Entwicklers eingetragen laut dieser Dokumentation gespeichert werden.
Zugangsdaten zur Datenbank
Da die Zugangsdaten zur Livedatenbank und Testdatenbank meist unterschiedlich sind, empfiehlt es sich, diese nur in einer separaten Datei (z. B. „db_config.php“) zu schreiben und diese Datei im Projekt bei Bedarf per „include“ einzubinden. Zunächst empfiehlt es sich, die Zugangsdaten von der Livedatenbank einzutragen und dise per „commit“ und „push“ an den Server zu übermitteln. So werden sie auch auch automatisch im Webverzeichnis gespeichert.
Als nächstes sollte die Datei von zukünftigen Übermittlungen ausgeschlossen werden, indem Sie auf die „gitignore“-Liste gesetzt werden (Kontextmenü ⇒ „TortoiseGit“ ⇒ „Add to ignore list“ ⇒ [Dateiname auswählen]. Jetzt können die Zugangsdaten gegen die von der lokalen Testdatenbank ausgetauscht werden, ohne, dass diese zukünftig auf dem Server überschrieben werden.