Wenn man keinen richtigen Server genehmigt bekommt, erlaubt Git den folgenden Notbehelf, indem ein Netzwerkverzeichnis für Git als Repository- Server eingerichtet wird.
Das geht folgendermassen 1):
Auf dem Netzwerkdrive wird ein „Bare“- Repository angelegt:
mkdir Repository.git cd Repository.git git init --bare
das lokale Arbeitsverzeichnis wird ganz normal als git repository aktiviert
git init git add . git commit -m "Initial commit."
Im Repository wird die Datei hooks/post-receive angegelegt, damit jeder Commit eine Spiegelung der aktuellen Daten in ein anderes Verzeichnis auslöst, wo dann die Allgemeinheit in Ermangelung eines richtigen Servers die Daten zumindest lesen kann.
#!/bin/sh echo "Executing post-receive script. (Located in the --bare repo's hooks folder.)" # Instructions: # Put this file into your .git/hooks folder and set as executable #- for Windows (attrib +x pre-commit) #- for ubuntu (chmod +x pre-commit) DEPLOYDIR=/k/Konstruktion/Neue_Projekt_Struktur-READ_ONLY/Projekt/Modelljahr/EL # The place to deploy to. BRANCH="main" read oldrev newrev ref # Only auto-deploy (checkout) the $BRANCH specified above. if [[ $ref = refs/heads/$BRANCH ]]; then echo "Branch $ref received. Deploying ${BRANCH} branch to \"$DEPLOYDIR\" folder." git --work-tree=$DEPLOYDIR checkout -f git log -n 10 --name-status > $DEPLOYDIR/top_commit.txt echo "Done." else echo "Branch $ref received. Doing nothing: only the ${BRANCH} branch may be auto-deployed to the \"$DEPLOYDIR\" folder." fi
Das Ziel- Verzeichnis muss auch existieren!
mkdir -p /k/Konstruktion/Neue_Projekt_Struktur-READ_ONLY/Projekt/Modelljahr/EL
Das Netzwerklaufwerk als remote einrichten, dabei darauf achten, dass man nicht aus Versehen im (Unix-) Git Bash Fenster versucht, einen Windows- Share Drive einzutragen, sondern an dieser Stelle dann wirklich auch den Betriebssystem- Nativen Git CLient verwenden
git remote add origin K:\Konstruktion\Neue_Projekt_Struktur-DO_NOT_TOUCH-GIT_INTERNAL\Projekt\Modelljahr\EL.git
und wenn das alles fertig ist, kann man den ersten Datentransfer wagen.
git push --set-upstream origin main
ab jetzt kann man lokal ganz normal arbeiten und findet den aktuellen Repository- Stand im Neue_Projekt_Struktur-READ_ONLY.. Verzeichnis als Lese- Kopie.