{"id":2992,"date":"2026-10-24T10:00:00","date_gmt":"2026-10-24T07:00:00","guid":{"rendered":"https:\/\/narhost.com\/destek\/?p=2992"},"modified":"2026-10-24T10:00:00","modified_gmt":"2026-10-24T07:00:00","slug":"cpanel-git-deployment","status":"publish","type":"post","link":"https:\/\/narhost.com\/destek\/cpanel-git-deployment\/","title":{"rendered":"cPanel Git ile Otomatik Yay\u0131nlama Nas\u0131l Kurulur (.cpanel.yml)"},"content":{"rendered":"<p class=\"kb-dogrulama\">Son do\u011frulama: Ekim 2026 \u00b7 cPanel 136 test hesab\u0131nda denendi<\/p>\n<div id=\"hizli-cozum\" class=\"ai-box ai-box--cozum\">\n<p class=\"ai-box-title\">H\u0131zl\u0131 \u00e7\u00f6z\u00fcm<\/p>\n<p><strong>cPanel Git deployment<\/strong>, GitHub ya da GitLab&#8217;deki kodunuzu panelden tek t\u0131kla sitenizin klas\u00f6r\u00fcne kopyalaman\u0131z\u0131 sa\u011flar. Payla\u015f\u0131ml\u0131 hostingte SSH olmad\u0131\u011f\u0131 i\u00e7in do\u011fru y\u00f6ntem \u00e7ekme (pull) da\u011f\u0131t\u0131m\u0131d\u0131r:<\/p>\n<ol>\n<li>Deponuzun k\u00f6k dizinine da\u011f\u0131t\u0131m komutlar\u0131n\u0131 i\u00e7eren bir <code>.cpanel.yml<\/code> dosyas\u0131 ekleyin.<\/li>\n<li><strong>cPanel \u2192 Dosyalar \u2192 Git\u2122 Version Control<\/strong> ekran\u0131nda <strong>Olu\u015ftur<\/strong> ile uzak depoyu klonlay\u0131n.<\/li>\n<li>Her g\u00fcncellemede <strong>Y\u00f6net \u2192 Pull or Deploy<\/strong> sekmesinde <strong>Update from Remote<\/strong>&#8216;a bas\u0131n.<\/li>\n<li>Ard\u0131ndan <strong>Deploy HEAD Commit<\/strong> ile dosyalar\u0131 sitenin klas\u00f6r\u00fcne kopyalay\u0131n.<\/li>\n<\/ol>\n<\/div>\n<table class=\"kb-uyg\">\n<tr>\n<th>Panel<\/th>\n<td>cPanel (Git\u2122 Version Control)<\/td>\n<\/tr>\n<tr>\n<th>Sistem<\/th>\n<td>Payla\u015f\u0131ml\u0131 hosting<\/td>\n<\/tr>\n<tr>\n<th>Yetki<\/th>\n<td>cPanel kullan\u0131c\u0131s\u0131; GitHub ya da GitLab&#8217;de depo eri\u015fimi<\/td>\n<\/tr>\n<tr>\n<th>Narhost \u00fcr\u00fcn\u00fc<\/th>\n<td><a href=\"https:\/\/narhost.com\/web-hosting\" title=\"Narhost Web Hosting paketleri\">Web Hosting<\/a><\/td>\n<\/tr>\n<\/table>\n<div class=\"kb-once\">\n<p class=\"label\">Ba\u015flamadan \u00f6nce<\/p>\n<ul>\n<li>Deponuzun herkese a\u00e7\u0131k (public) olup olmad\u0131\u011f\u0131n\u0131 \u00f6\u011frenin; \u00f6zel depolar i\u00e7in ek eri\u015fim ayar\u0131 gerekir.<\/li>\n<li>Sitenin hangi klas\u00f6rde yay\u0131nlanaca\u011f\u0131n\u0131 belirleyin (ana alan ad\u0131 i\u00e7in <code>public_html<\/code>).<\/li>\n<li>Hedef klas\u00f6rdeki mevcut dosyalar\u0131n yede\u011fini al\u0131n; da\u011f\u0131t\u0131m ayn\u0131 adl\u0131 dosyalar\u0131n \u00fczerine yazar.<\/li>\n<\/ul>\n<\/div>\n<h2>cPanel Git deployment nas\u0131l \u00e7al\u0131\u015f\u0131r<\/h2>\n<p>cPanel&#8217;in <a href=\"https:\/\/docs.cpanel.net\/knowledge-base\/web-services\/guide-to-git-deployment\/\" title=\"cPanel belgesi \u2014 Git da\u011f\u0131t\u0131m rehberi\" target=\"_blank\" rel=\"noopener\">Git da\u011f\u0131t\u0131m rehberi<\/a> iki y\u00f6ntem tan\u0131mlar. \u0130tme (push) da\u011f\u0131t\u0131m\u0131nda kodu bilgisayar\u0131n\u0131zdan do\u011frudan cPanel&#8217;deki depoya g\u00f6nderirsiniz ve sunucu da\u011f\u0131t\u0131m\u0131 kendili\u011finden yapar; bu y\u00f6ntem SSH ba\u011flant\u0131s\u0131 ister. \u00c7ekme (pull) da\u011f\u0131t\u0131m\u0131nda kodu GitHub gibi bir uzak depoya g\u00f6nderirsiniz, panelde <strong>Update from Remote<\/strong> ile de\u011fi\u015fiklikleri cPanel&#8217;deki kopyaya al\u0131rs\u0131n\u0131z ve <strong>Deploy HEAD Commit<\/strong> ile yay\u0131na \u00e7\u0131kar\u0131rs\u0131n\u0131z. Payla\u015f\u0131ml\u0131 paketlerde SSH eri\u015fimi bulunmad\u0131\u011f\u0131 i\u00e7in ikinci y\u00f6ntem kullan\u0131l\u0131r.<\/p>\n<p>Da\u011f\u0131t\u0131m\u0131n ne yapaca\u011f\u0131n\u0131 deponun k\u00f6k dizinindeki <code>.cpanel.yml<\/code> dosyas\u0131 belirler. Rehbere g\u00f6re da\u011f\u0131t\u0131m i\u00e7in \u00fc\u00e7 \u015fart vard\u0131r: k\u00f6k dizinde ge\u00e7erli bir <code>.cpanel.yml<\/code> dosyas\u0131, en az bir dal ve kaydedilmemi\u015f de\u011fi\u015fiklik i\u00e7ermeyen temiz bir \u00e7al\u0131\u015fma a\u011fac\u0131. \u015eartlardan biri eksikse panel da\u011f\u0131t\u0131m bilgisini g\u00f6stermez ve d\u00fc\u011fmeyi kapat\u0131r.<\/p>\n<figure class=\"nh-sema\"><img src=\"https:\/\/narhost.com\/destek\/wp-content\/uploads\/2026\/10\/cpanel-git-deployment-sema-narhost.webp\" alt=\"cpanel git deployment ak\u0131\u015f \u015femas\u0131 \u2014 .cpanel.yml, klonlama, Update from Remote ve Deploy HEAD Commit\" width=\"1200\" height=\"500\" loading=\"lazy\" decoding=\"async\"><figcaption>Payla\u015f\u0131ml\u0131 hostingte da\u011f\u0131t\u0131m \u00e7ekme y\u00f6ntemiyle, iki d\u00fc\u011fmeyle yap\u0131l\u0131r.<\/figcaption><\/figure>\n<h2>Ad\u0131m ad\u0131m cPanel Git deployment kurulumu<\/h2>\n<ol class=\"kb-adimlar\">\n<li><strong>.cpanel.yml dosyas\u0131n\u0131 yaz\u0131n.<\/strong> Bilgisayar\u0131n\u0131zda deponun k\u00f6k dizinine a\u015fa\u011f\u0131daki dosyay\u0131 ekleyin, <code>kullanici<\/code> yerine cPanel kullan\u0131c\u0131 ad\u0131n\u0131z\u0131 yaz\u0131n ve depoya g\u00f6nderin:\n<pre><code class=\"language-yaml\">---\ndeployment:\n  tasks:\n    - export DEPLOYPATH=\/home\/kullanici\/public_html\/\n    - \/bin\/cp index.html $DEPLOYPATH\n    - \/bin\/cp -R css $DEPLOYPATH\n    - \/bin\/cp -R img $DEPLOYPATH<\/code><\/pre>\n<p class=\"kb-cikti\">Her sat\u0131r s\u0131rayla \u00e7al\u0131\u015fan bir komuttur. B\u00fct\u00fcn dosyalar\u0131 kopyalamak i\u00e7in y\u0131ld\u0131z (<code>*<\/code>) kullanmay\u0131n; rehber bunun <code>.git<\/code> klas\u00f6r\u00fcn\u00fc de yay\u0131na ta\u015f\u0131yabilece\u011fi konusunda uyar\u0131r.<\/p>\n<\/li>\n<li><strong>Depoyu klonlay\u0131n.<\/strong><strong>cPanel \u2192 Dosyalar \u2192 Git\u2122 Version Control<\/strong> ekran\u0131n\u0131 a\u00e7\u0131n ve <strong>Olu\u015ftur<\/strong>&#8216;a bas\u0131n.<br \/>\n<figure class=\"kb-ekran\"><img src=\"https:\/\/narhost.com\/destek\/wp-content\/uploads\/2026\/10\/cpanel-git-deployment-adim-1b.webp\" alt=\"cpanel git deployment i\u00e7in Git Version Control ekran\u0131nda klonlanm\u0131\u015f depo ve Y\u00f6net d\u00fc\u011fmesi\" width=\"1200\" height=\"460\" loading=\"lazy\" decoding=\"async\"><figcaption>Klonlanan depo listede g\u00f6r\u00fcn\u00fcr; da\u011f\u0131t\u0131m ayarlar\u0131 Y\u00f6net d\u00fc\u011fmesinden a\u00e7\u0131l\u0131r.<\/figcaption><\/figure>\n<p> A\u00e7\u0131lan formda klonlama se\u00e7ene\u011fini a\u00e7\u0131k b\u0131rak\u0131n ve uzak deponun <code>https:\/\/<\/code> adresini yaz\u0131n. Depo yolu (<strong>Repository Path<\/strong>) i\u00e7in yay\u0131n klas\u00f6r\u00fcnden ayr\u0131 bir yol se\u00e7in (\u00f6rne\u011fin <code>repositories\/site<\/code>), ard\u0131ndan formu kaydedin.<\/p>\n<figure class=\"kb-ekran\"><img src=\"https:\/\/narhost.com\/destek\/wp-content\/uploads\/2026\/10\/cpanel-git-deployment-adim-2b.webp\" alt=\"cPanel Git Version Control Pull or Deploy sekmesi \u2014 Update from Remote ve Deploy HEAD Commit\" width=\"1200\" height=\"833\" loading=\"lazy\" decoding=\"async\"><figcaption>Pull or Deploy sekmesinde g\u00fcncelleme ve da\u011f\u0131t\u0131m d\u00fc\u011fmeleri yan yana durur.<\/figcaption><\/figure>\n<p class=\"kb-cikti\">Beklenen sonu\u00e7: depo listede g\u00f6r\u00fcn\u00fcr. Depoyu do\u011frudan <code>public_html<\/code> i\u00e7ine klonlamay\u0131n; da\u011f\u0131t\u0131m, kopyay\u0131 yay\u0131n klas\u00f6r\u00fcne ayr\u0131 ad\u0131mda ta\u015f\u0131r.<\/p>\n<\/li>\n<li><strong>G\u00fcncellemeleri al\u0131n.<\/strong> Listede deponun yan\u0131ndaki <strong>Y\u00f6net<\/strong> d\u00fc\u011fmesine t\u0131klay\u0131n, <strong>Pull or Deploy<\/strong> sekmesinde <strong>Update from Remote<\/strong>&#8216;a bas\u0131n.<\/li>\n<li><strong>Yay\u0131na \u00e7\u0131kar\u0131n.<\/strong> Ayn\u0131 sekmede <strong>Deploy HEAD Commit<\/strong>&#8216;e bas\u0131n.\n<p class=\"kb-cikti\">Beklenen sonu\u00e7: sekmede son da\u011f\u0131t\u0131m\u0131n tarihi ve i\u015flenen commit g\u00f6r\u00fcn\u00fcr; <code>.cpanel.yml<\/code>&#8216;deki komutlar \u00e7al\u0131\u015f\u0131r ve dosyalar <code>public_html<\/code>&#8216;e kopyalan\u0131r.<\/p>\n<\/li>\n<\/ol>\n<div class=\"warn-box\">\n<p class=\"label\">Dikkat<\/p>\n<p>Da\u011f\u0131t\u0131m komutlar\u0131 hedef klas\u00f6rdeki ayn\u0131 adl\u0131 dosyalar\u0131n \u00fczerine yazar ve geri al\u0131namaz. \u0130lk da\u011f\u0131t\u0131mdan \u00f6nce <code>public_html<\/code>&#8216;in yede\u011fini al\u0131n; veritaban\u0131 kullanan sitelerde yap\u0131land\u0131rma dosyalar\u0131n\u0131 (\u00f6rne\u011fin <code>wp-config.php<\/code>) depoya koymay\u0131n ve kopyalama listesine eklemeyin.<\/p>\n<\/div>\n<h2>Do\u011frulama<\/h2>\n<div class=\"success-box\">\n<p class=\"label\">Sonu\u00e7<\/p>\n<p>Sitenizi taray\u0131c\u0131da a\u00e7\u0131p son commit&#8217;teki de\u011fi\u015fikli\u011fi g\u00f6r\u00fcyorsan\u0131z ve <strong>Pull or Deploy<\/strong> sekmesindeki son da\u011f\u0131t\u0131m bilgisi ayn\u0131 commit&#8217;i g\u00f6steriyorsa cPanel Git deployment \u00e7al\u0131\u015f\u0131yordur. Dosyalar\u0131n geldi\u011fini Dosya Y\u00f6neticisi&#8217;nde de\u011fi\u015ftirilme tarihlerinden de kontrol edebilirsiniz.<\/p>\n<\/div>\n<h2>H\u00e2l\u00e2 \u00e7\u00f6z\u00fclmediyse<\/h2>\n<ul>\n<li><strong>Deploy HEAD Commit d\u00fc\u011fmesi soluk.<\/strong> Sekmedeki <strong>The system cannot deploy<\/strong> kutusu eksik \u015fart\u0131 yazar: deponun k\u00f6k\u00fcnde ge\u00e7erli bir <code>.cpanel.yml<\/code> yoktur ya da \u00e7al\u0131\u015fma a\u011fac\u0131nda kaydedilmemi\u015f de\u011fi\u015fiklik vard\u0131r. Dosyay\u0131 d\u00fczeltip g\u00f6nderin, ard\u0131ndan Update from Remote ile yeniden al\u0131n.<\/li>\n<li><strong>\u00d6zel depo klonlanm\u0131yor.<\/strong> \u00d6zel depolara eri\u015fim SSH anahtar\u0131 ister; cPanel&#8217;in <a href=\"https:\/\/docs.cpanel.net\/knowledge-base\/web-services\/guide-to-git-set-up-access-to-private-repositories\/\" title=\"cPanel belgesi \u2014 \u00f6zel Git depolar\u0131na eri\u015fim\" target=\"_blank\" rel=\"noopener\">\u00f6zel depo rehberi<\/a> bu ayar\u0131 anlat\u0131r. Paketinizde SSH eri\u015fimi yoksa destek talebi a\u00e7\u0131n.<\/li>\n<li><strong>Git ekran\u0131n\u0131n genel kullan\u0131m\u0131.<\/strong> Depo olu\u015fturma ve y\u00f6netme <a href=\"https:\/\/narhost.com\/destek\/cpanelde-git-version-control-kullanimi\/\" title=\"cPanel&#039;de Git Version Control Kullan\u0131m\u0131 \u2014 Narhost Destek Merkezi\">cPanel&#8217;de Git Version Control kullan\u0131m\u0131<\/a> kart\u0131nda.<\/li>\n<\/ul>\n<div class=\"cta-box\">\n<p class=\"label\">Narhost deste\u011fi<\/p>\n<p>Talebe \u015funlar\u0131 ekleyin: alan ad\u0131, deponun adresi (herkese a\u00e7\u0131k m\u0131 \u00f6zel mi), <code>.cpanel.yml<\/code> dosyan\u0131z\u0131n i\u00e7eri\u011fi ve Pull or Deploy sekmesindeki hata iletisi.<\/p>\n<p><a class=\"cta-btn\" href=\"https:\/\/narhost.com\/submitticket.php\" title=\"Narhost destek talebi a\u00e7\">Destek talebi a\u00e7<\/a><\/div>\n<div class=\"kb-ilgili\">\n<p class=\"label\">Sonraki ad\u0131mlar<\/p>\n<ul>\n<li><a href=\"https:\/\/narhost.com\/destek\/cpanel-uzerinden-web-sitesi-dosyalari-nasil-yonetilir\/\" title=\"cPanel \u00dczerinden Web Sitesi Dosyalar\u0131 Nas\u0131l Y\u00f6netilir \u2014 Narhost Destek Merkezi\">cPanel \u00fczerinden web sitesi dosyalar\u0131 nas\u0131l y\u00f6netilir<\/a><\/li>\n<li><a href=\"https:\/\/narhost.com\/destek\/cpanelde-zamanlanmis-gorevler-cron-jobs-nasil-olusturulur\/\" title=\"cPanel&#039;de Zamanlanm\u0131\u015f G\u00f6revler (Cron Jobs) \u2014 Narhost Destek Merkezi\">cPanel&#8217;de zamanlanm\u0131\u015f g\u00f6revler (cron)<\/a><\/li>\n<li><a href=\"https:\/\/narhost.com\/destek\/yedek-nasil-olusturulur\/\" title=\"Yedek Nas\u0131l Olu\u015fturulur \u2014 Narhost Destek Merkezi\">Yedek nas\u0131l olu\u015fturulur<\/a><\/li>\n<\/ul>\n<\/div>\n<div class=\"kb-faq\">\n<h2>S\u0131k\u00e7a sorulan sorular<\/h2>\n<h3>Her commit&#8217;te da\u011f\u0131t\u0131m kendili\u011finden yap\u0131l\u0131r m\u0131?<\/h3>\n<p>\u00c7ekme y\u00f6nteminde hay\u0131r; Update from Remote ve Deploy HEAD Commit d\u00fc\u011fmelerine siz basars\u0131n\u0131z. Kendili\u011finden da\u011f\u0131t\u0131m itme y\u00f6ntemiyle olur ve SSH ba\u011flant\u0131s\u0131 gerektirir. Bu sayede her de\u011fi\u015fikli\u011fi bilin\u00e7li olarak yay\u0131na al\u0131rs\u0131n\u0131z. Payla\u015f\u0131ml\u0131 pakette kabuk eri\u015fimi olmad\u0131\u011f\u0131 i\u00e7in panel cPanel deposunun klon adreslerini de g\u00f6stermez.<\/p>\n<h3>WordPress sitesini Git ile yay\u0131nlayabilir miyim?<\/h3>\n<p>Tema ya da eklenti klas\u00f6r\u00fcn\u00fc depoda tutup yaln\u0131z o klas\u00f6r\u00fc da\u011f\u0131tabilirsiniz. Veritaban\u0131 ve y\u00fcklenen g\u00f6rseller Git ile ta\u015f\u0131nmaz; WordPress \u00e7ekirde\u011fini ve <code>wp-config.php<\/code> dosyas\u0131n\u0131 depoya koymamak daha g\u00fcvenlidir.<\/p>\n<h3>Da\u011f\u0131t\u0131m\u0131 geri alabilir miyim?<\/h3>\n<p>Panelde tek tu\u015fla geri alma yoktur. \u00d6nceki commit&#8217;e d\u00f6nen yeni bir commit g\u00f6nderip yeniden da\u011f\u0131t\u0131m yapmak ya da da\u011f\u0131t\u0131mdan \u00f6nce ald\u0131\u011f\u0131n\u0131z yede\u011fi geri y\u00fcklemek gerekir.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>cPanel Git deployment kurulumu: .cpanel.yml dosyas\u0131, Git Version Control ekran\u0131nda uzak depoyu klonlama, Update from Remote ve Deploy HEAD Commit ile SSH gerektirmeyen \u00e7ekme da\u011f\u0131t\u0131m\u0131; \u00f6zel depo ve geri alma notlar\u0131.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9,6],"tags":[276,312],"class_list":["post-2992","post","type-post","status-publish","format-standard","hentry","category-web-hosting","category-linux-hosting","tag-git","tag-deployment"],"meta_box":[],"_links":{"self":[{"href":"https:\/\/narhost.com\/destek\/wp-json\/wp\/v2\/posts\/2992","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/narhost.com\/destek\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/narhost.com\/destek\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/narhost.com\/destek\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/narhost.com\/destek\/wp-json\/wp\/v2\/comments?post=2992"}],"version-history":[{"count":1,"href":"https:\/\/narhost.com\/destek\/wp-json\/wp\/v2\/posts\/2992\/revisions"}],"predecessor-version":[{"id":3035,"href":"https:\/\/narhost.com\/destek\/wp-json\/wp\/v2\/posts\/2992\/revisions\/3035"}],"wp:attachment":[{"href":"https:\/\/narhost.com\/destek\/wp-json\/wp\/v2\/media?parent=2992"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/narhost.com\/destek\/wp-json\/wp\/v2\/categories?post=2992"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/narhost.com\/destek\/wp-json\/wp\/v2\/tags?post=2992"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}