Ich habe auf meinem ubuntu-Server eine leere Repo eingerichtet.
Nachdem ich meinen nackten Git Repo auf den Server geschoben habe:
%Vor%Ich möchte, dass der Inhalt meines nicht leeren Repos mit dem neuesten Push aktualisiert wird, wie es dort gezeigt wird, wo das nicht leere Repo mein tatsächliches Arbeitsverzeichnis namens workfiles ist.
%Vor%Ich habe von dem Post-Receive-Hook gehört, weiß aber nicht, wie ich das einrichten soll. Wie kann ich das gleiche erreichen.
Ich bevorzuge es, den Arbeitsbaum und das git-Verzeichnis anzugeben, anstatt mich auf eine CD zu verlassen:
%Vor% Als kommentierte von ChrisV , kann man sich auch auf ein git checkout
anstatt auf ein git pull
Ich glaube, dass
git checkout -f
sicherer ist alsgit pull
, da die Zusammenführung, die Teil des Pull ist, das Potenzial hat, Dinge unordentlich zu machen, wenn manuelle Korrekturen benötigt werden sollten.
Aber das bedeutet /central/workfiles
ist nicht ein "nicht-bare" Git Repo. Es ist nur ein Ordner, wo Sie den Inhalt des leeren Repo /bare/repo.git
auschecken.
Siehe Brian Thomas ist Antworten für ein Beispiel für diesen Ansatz.
Das würde nicht zur OP-Spezifikation passen.
Ich würde mit etwas wie
gehen %Vor% Speichere das obige Skript als post-receive
und lege es in das Verzeichnis hooks/
deines leeren Repos.
Bottom line vergessen Sie nicht, es ausführbar machen
%Vor%