{"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-06-02T12:58:44","modified_gmt":"2026-06-02T10:58:44","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<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":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ai_generated_summary":"","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":23,"href":"https:\/\/marc-oltersdorf.de\/index.php\/wp-json\/wp\/v2\/posts\/6\/revisions\/23"}],"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}]}}