{"id":6,"date":"2026-06-02T10:12:31","date_gmt":"2026-06-02T10:12:31","guid":{"rendered":"https:\/\/marc-oltersdorf.de\/?p=6"},"modified":"2026-09-16T10:16:27","modified_gmt":"2026-09-16T08:16:27","slug":"git-post-receive-hook-erstellen","status":"publish","type":"post","link":"https:\/\/marc-oltersdorf.de\/index.php\/2026\/06\/02\/git-post-receive-hook-erstellen\/","title":{"rendered":"GIT post-receive hook erstellen"},"content":{"rendered":"\n<div class=\"wp-block-group ai-summarization-summary is-layout-flow wp-block-group-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Ein Git-post-receive-Hook erm\u00f6glicht das automatische Kopieren von Daten in einen Webordner nach einem Push. Daf\u00fcr wird im hooks-Verzeichnis des Repositorys eine entsprechende Skriptdatei erstellt. Diese definiert Zielpfad, Git-Verzeichnis sowie den Branch und f\u00fchrt das Auschecken der Dateien durch.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Abschlie\u00dfend muss das erstellte Skript \u00fcber entsprechende Rechte ausf\u00fchrbar gemacht werden, damit der Git-Server die automatische \u00dcbertragung verarbeiten kann.<\/p>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Damit nach dem PUSH auf den GIT-Server dieser die Daten automatisch in den daf\u00fcr vorgesehenen Webordner kopiert, muss ein post-receive hook erstellt werden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wir erstellen im <strong>hooks<\/strong>-Ordner des entsprechenden Repository eine Datei mit dem Namen &#8222;<strong>post-receive<\/strong>&#8222;.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo vi \/pfad\/zum\/git\/project.git\/hooks\/post-receive<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Diese f\u00fcllen wir mit folgendem Inhalt:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#!\/bin\/bash\nTARGET=\"\/pfad\/zum\/webordner\/project\"\nGIT_DIR=\"\/pfad\/zum\/git\/project.git\"\nBRANCH=\"master\"\n\necho \"Push zum Webordner\"\ngit --work-tree=$TARGET --git-dir=$GIT_DIR checkout -f $BRANCH<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Danach m\u00fcssen wir die entsprechende Datei noch ausf\u00fchrbar machen<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo chmod +x \/pfad\/zum\/git\/project.git\/hooks\/post-receive<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Erfahren Sie, wie Sie mit einem Git post-receive hook automatische Deployments einrichten. Diese Anleitung zeigt Schritt f\u00fcr Schritt, wie Sie Daten nach einem Push direkt in den Webordner kopieren. Von der Erstellung des Skripts im hooks-Ordner bis hin zur Vergabe der n\u00f6tigen Zugriffsrechte lernen Sie alles Wichtige, um Ihren Workflow in der Webentwicklung effizient zu automatisieren.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"wpai_generated_summary":"Ein Git-post-receive-Hook erm\u00f6glicht das automatische Kopieren von Daten in einen Webordner nach einem Push. Daf\u00fcr wird im hooks-Verzeichnis des Repositorys eine entsprechende Skriptdatei erstellt. Diese definiert Zielpfad, Git-Verzeichnis sowie den Branch und f\u00fchrt das Auschecken der Dateien durch.\n\nAbschlie\u00dfend muss das erstellte Skript \u00fcber entsprechende Rechte ausf\u00fchrbar gemacht werden, damit der Git-Server die automatische \u00dcbertragung verarbeiten kann.","wpai_meta_description":"","footnotes":""},"categories":[4],"tags":[],"class_list":["post-6","post","type-post","status-publish","format-standard","hentry","category-git"],"_links":{"self":[{"href":"https:\/\/marc-oltersdorf.de\/index.php\/wp-json\/wp\/v2\/posts\/6","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/marc-oltersdorf.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/marc-oltersdorf.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/marc-oltersdorf.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/marc-oltersdorf.de\/index.php\/wp-json\/wp\/v2\/comments?post=6"}],"version-history":[{"count":4,"href":"https:\/\/marc-oltersdorf.de\/index.php\/wp-json\/wp\/v2\/posts\/6\/revisions"}],"predecessor-version":[{"id":29,"href":"https:\/\/marc-oltersdorf.de\/index.php\/wp-json\/wp\/v2\/posts\/6\/revisions\/29"}],"wp:attachment":[{"href":"https:\/\/marc-oltersdorf.de\/index.php\/wp-json\/wp\/v2\/media?parent=6"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/marc-oltersdorf.de\/index.php\/wp-json\/wp\/v2\/categories?post=6"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/marc-oltersdorf.de\/index.php\/wp-json\/wp\/v2\/tags?post=6"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}