Yerel Sitenizi Canlı Yayına Aktarmak için Git Nasıl Kullanılır?

Yayınlanan: 2022-10-18

Birçok şirket, ortalama bir kullanıcı için web sitesi geliştirmeyi basit hale getirmek için büyük çaba harcar. Bu mantıklı, çünkü yerel bir siteyi çalıştırmanın her yönünü öğrenmeye vakti olmayan (veya istemeyen) site sahipleri var. Ancak biraz araştırma yaparak sitenizi canlı yayınlama sürecini yönetmek için Git'i kullanabilirsiniz. Bu size biraz daha fazla güvenlik sağlar ve her şeyi ayarladıktan sonra site değişiklikleri yapmak için daha kolay bir yol sağlar.

Öyle olsa bile, o noktaya gelmek kuşkusuz zor. Dikkate alınması gereken birçok ön koşul, sahip olmanız gereken beceriler ve elde edilecek araçlar vardır. Ayrıca, hatırlamanız gereken çok şey olduğundan, ilk birkaç kez süreci düşünmeniz gerekecek. Ancak, bir siteyi canlı yayınlamak için Git'i kullanmak hemen hemen her kullanıcı için mümkündür ve düşündüğünüz kadar karmaşık olması gerekmez.

Bu eğitimde, yerel bir siteyi canlı bir sunucuya göndermek için Git'i nasıl kullanacağınızı adım adım göstereceğiz. İlk olarak, gönderide sunacağımız bazı araç ve teknolojileri gözden geçirelim.

Git'e Giriş

Bilmeyenler için Git bir Sürüm Kontrol Sistemidir (VCS). Genellikle bir uygulama veya web sitesi olmak üzere bir projede yaptığınız değişiklikleri kaydetmenin ve kaydetmenin bir yoludur. Bu, başka bir yerde değindiğimiz bir şey, ancak bu eğitim için onun hakkında daha fazla bilgi sahibi olmanız gerekecek.

WordPress GitHub deposu.

Git'i kullanmanın tipik yolu bir Komut Satırı Arayüzü (CLI) kullanmaktır - WP-CLI ile deneyiminiz varsa, benzer bir yaklaşımdır. Üzerinde çalıştığınız dosyaları çeşitli şekillerde işaretlemek ve düzenlemek için komutları kullanacaksınız:

  • Komutları vermeden önce dosyalar 'evrelenmemiş' kalacaktır. Bu, Git 'deponuzun' (geçmişinizi depolayan dizin) parçası olmadıkları anlamına gelir.
  • Dosyalarınızın tamamını veya bir kısmını sahneye koymak için bir komut vereceksiniz, bu noktada hala üzerinde çalışabilirsiniz.
  • Bitirdiğinizde, dosyaları hazırlama alanından 'repo'ya aktarırsınız. Bu, bu değişiklikleri kaydetmeye benzer.

Bundan daha karmaşık olabilir, ancak çoğunlukla Git ile günlük işleri yürütmek için yalnızca bir avuç komut kullanacaksınız.

Takım Tabanlı Geliştirme için Git'i Kullanma

Git, geliştirme ekipleri için önemli bir araçtır çünkü her geliştirici aynı depoda farklı bir 'dal' açacaktır. Bu, herkesin başkalarının dosyalarını etkilemeden proje üzerinde çalışabileceği anlamına gelir. Düzenli aralıklarla – genellikle günün son görevi olarak – ekip depoda değişiklik yapacaktır.

Takımın kıdemli bir üyesi daha sonra tüm dalları ve değişiklikleri birlikte deponun main veya trunk 'birleştirmeye' bakacaktır. Bu noktada, depoda kesin proje dosyaları kümesine sahip olacaksınız.

Tek bir geliştirici için - muhtemelen siz - Git, bir tür artımlı tasarruf aracı olarak hala değere sahiptir. Yeni bir şube açacak, siteniz üzerinde çalışacak, ardından bu değişiklikleri sahneleyecek ve uygulayacaksınız. Bu, sitenizdeki başka hiçbir dosyayı etkilemeden şubede istediğinizi yapabileceğiniz anlamına gelir. Taahhüt etmek (veya silmek) istediğinizde bunu yapabilirsiniz.

Yerel WordPress Geliştirmede Hızlı Bir Başlangıç

Devam etmeden önce, sitenizde canlı sunucunuzdan uzakta çalışmanın önerilen tipik bir uygulama olduğunu unutmamalıyız. Bunu henüz yapmadıysanız, WordPress'in nasıl kurulacağına ilişkin makalemize göz atın. Ayrıca, sitenizde çalışacak özel bir uygulama düşünebilirsiniz.

DevKinsta logosu.

Local by Flywheel iyi bir seçenektir, ancak DevKinsta da öyle. Ne olursa olsun, yerel bir site oluşturmanın birçok yolu vardır ve bu, yerinde olmasını isteyeceğiniz bir şeydir.

Yerel Bir Siteyi Canlı Yayınlamak için Neden Git'i Kullanmak İstiyorsunuz?

Sitenizi canlı yayınlamak için Git'i kullanmak istemenizin ana nedeni yukarıda bahsettiğimiz nedendir: Esneklik. Git'in doğası gereği, kesin proje dosyaları kümesi olarak hizmet veren bir ana dalınız olacağı anlamına gelir. Ancak, ihtiyaç duyduğunuz kadar yeni şube açabilirsiniz – aslında, Git'i büyük ekiplerin geniş ölçekte kullanmasının tam yolu budur.

Bu yaklaşımla, çekirdek dosyalarınızı etkilemeye gerek kalmadan sitenizin ana sayfa tasarımında çalışmak için yeni bir dal oluşturabilirsiniz. Bir şubeyi, aşamalı taahhütler yoluyla ana şubenize geri birleştirdiğiniz bir tür klon düşünün.

Ancak Git'in yararlı olmasının birkaç nedeni daha var:

  • Bu Git deposunu herhangi bir yerde barındırabilirsiniz. GitHub ve GitLab, Git depolarını barındırmaya odaklanan iki sitedir. Ekstra desteğe ihtiyacınız varsa, buradan diğer ekip üyelerini veya geliştiricileri getirebilirsiniz. Hatta bir siteyi kolaylıkla taşıyabilirsiniz.
  • Elbette, güvenlik ve performansla ilgili bir bakış açısından harika olan canlı siteniz üzerinde çalışmanız gerekmeyecek. Ancak, yalnızca üzerinde çalıştığınız dosyaları göndermeyi seçebilirsiniz. Bu, WordPress veritabanınıza dokunmanıza gerek olmadığı için muazzam avantajlar sunar. Bu, web sitesi hazırlamanın temel amacıdır ve bunu Git ve yerel bir kurulum kullanarak yapmak mümkündür.

Ancak, bu noktaya gelmek için elinizde bir dizi araç, beceri ve ön koşula sahip olmak isteyeceksiniz. Sonra, ne olduklarını inceleyeceğiz.

Siteleri Canlı Yayına Aktarmak için Git'i Kullanmadan Önce İhtiyacınız Olan Şeyler (Araçlar ve Beceriler)

Hangi ekstralara ihtiyaç duyacağınızı düşünmeden önce, nelere sahip olmanız gerektiğini belirtmekte fayda var. Örneğin, aşağıdakilerin elinizde olduğundan emin olun:

  • Mevcut web sitenizin yerel bir sürümü.
  • Yönetici olarak barındırma kontrol panelinize ve sunucunuza erişin.

Buradan Git'i yerel siteniz ve canlı sunucunuzla kullanmak için başka neye ihtiyacınız olduğunu düşünebilirsiniz:

  • Git'i bilgisayarınıza yüklemeniz gerekecek. Bunu genellikle komut satırı aracılığıyla başarırsınız.
  • Bundan bahsetmişken, komut satırını nasıl kullanacağınız konusunda bilgi sahibi olmak isteyeceksiniz. Özellikle, bilgisayarınızda nasıl dolaşacağınızı, dizinler ve dosyalar oluşturmayı ve bunları kaldırmayı bilmelisiniz.
  • Sunucunuz için Secure Shell (SSH) erişimi bilgisi ve en azından güvenli anahtarlar oluşturmaya aşinalık. Bu konuda biraz daha fazlasını Güvenli Dosya Aktarım Protokolü (SFTP) hakkındaki makalemizde bulabilirsiniz.

Bu, başlamak için yeterli olacaktır, ancak dikkatinizi gerektiren başka bir şey varsa, makalenin geri kalanında bahsedeceğiz.

Yerel Sitenizi Canlı Yayına Aktarmak için Git Nasıl Kullanılır?

Her şeyi ayarlamak için atmanız gereken dört adım var. İşte ele alacağımız şey:

  1. Yerel siteniz için bir Git deposu kurma.
  2. Uzak bir Git deposu kurma.
  3. Git deponuza değişiklikleri nereye göndermesi gerektiğini söylemek.
  4. Uzak bağlantı ekleme ve değişikliklerinizi canlı yayınlama.

Burada geçmemiz gereken çok şey var, hadi başlayalım!

1. Yerel Siteniz için Git Deposu Kurun

Git depolarını kurmanın birkaç yolu olsa da, bunu en tipik yol olduğu için komut satırını kullanarak yapacağız. Bir Terminal penceresi açıkken, önce sitenizin yerel dizinine gidin:

Terminal ve komut satırını kullanarak yerel bir klasöre gitme.

Git deponuz için gerekli mimariyi kurmak için aşağıdaki komutları birer birer çalıştırın:

 git init git add .

İlk komut, ihtiyacınız olan dizini oluşturacak ve onu gizli hale getirecek, ikincisi ise sitenizin dizinindeki tüm dosyaları Git hazırlama alanına ekler - nokta bir 'joker karakter' değiştiricisidir:

Git deposunu başlatma ve komut satırını kullanarak dosya ekleme.

Hazırlama alanında hangi dosyaların olduğunu görmek için git status komutunu kullanın:

Hangi dosyaların hazırlandığını görmek için git durumu çalıştırılıyor.

Buradan, yerel deponuzu doldurmak için bu değişikliklerin ilk taahhüdünü yapmak isteyeceksiniz. Bunu aşağıdaki komutu kullanarak yaparsınız:

git commit -m "Initial commit."

-m bayrağı, komuta, takip edenin taahhüt mesajınız olduğunu söyler. Bunu her taahhüt için yine de yapmanız gerekecek ve bunu tek bir yerden yapmak daha kolay.

Buradan, bilgisayarınızda her şeyi ayarlamış olursunuz. Ardından uzak sunucuda çalışma zamanı.

2. Sitenizin Canlı Sunucusunda Git Deposu Kurun

Buradaki işlem, yerel kurulumunuza benzer, ancak SSH kullanarak sunucunuzda oturum açmanızı gerektirir. Bunu kullanmak bu makalenin kapsamı dışındadır, ancak sizi Tom McFarlin'in ihtiyacınız olan adımları özetleyen bir gönderisine yönlendirebiliriz. Alternatif olarak, her zaman sunucunuza sorabilirsiniz - bu kimlik bilgilerinin nerede olduğunu size göstermekte sorun yaşamazlar.

Komut satırından sunucunuza giriş yaptığınızda, dışarıdaki kullanıcıların Git deponuza erişememesi için sunucunuzun özel bir alanına gitmek isteyeceksiniz. Dizin genellikle /private/ şeklindedir, ancak bunu sunucunuza sormak isteyeceksiniz.

Bu dizin içinde başka bir dizin oluşturmak ve ona gitmek isteyeceksiniz:

 mkdir remoterepo.git cd remoterepo.git

Dizin .git uzantısını kullandığı sürece, onu istediğiniz gibi arayabilirsiniz. Buradan, bu sefer –bare bayrağını kullanarak dizinde yeni bir git deposu başlatın:

git --bare init

Bu, güvenli ve önerilen proje dosyaları olmadan ihtiyacınız olan depoyu oluşturur.

3. Deponuza Bir 'Kanca' Oluşturun ve Doğru Dosya İzinlerini Ayarlayın

Sunucudayken Git'e değişiklikleri nereye göndereceğini söylemek için bir dosya oluşturmanız gerekir. İlk olarak, nano hooks/post-receive command çalıştırın. Bu, Nano adlı bir komut satırı düzenleyicisini açar ve dosyayı doğru dizinde oluşturur.

Bu dosyanın içine aşağıdakileri ekleyin:

 #!/bin/sh GIT_WORK_TREE=/home/username/example.com git checkout -f

/home/user/example.com , sitenizin canlı dosyalarının tam konumunu göstermelidir. Kullanıcı adı, kabuğa giriş yaptığınız username olmalıdır ve example.com , canlı sitenizin etki alanı olmalıdır. Bunu yaptıktan sonra değişikliklerinizi kaydedin.

Buradaki son adım, bu dosya için doğru dosya izinlerini ayarlamaktır. Bunu chmod +x hooks/post-receive komutunu kullanarak yapabilirsiniz. Mod Değiştir (chmod) komutu, komut satırından dosya izinlerini nasıl ayarladığınızdır - +x , Yürütme izinlerini ayarlamak anlamına gelir.

Bunu yaptıktan sonra, uzak terminalden exit için çıkış yazın. Buradan, Terminal içindeki yerel Git deponuza geri dönmeniz gerekecek.

4. Yerel Deponuza Uzak Bağlantı Ekleyin ve Yerel Değişikliklerinizi Canlı Yayınlayın

Burada, gerektiği gibi cd komutunu kullanarak yerel Git deponuza geri dönün. Her iki Git deposunun da birbiriyle konuşabilmesi için uzak sunucunuza bir bağlantı eklemeniz gerekir. Bunu aşağıdaki komutla yapacaksınız:

git remote add origin ssh://[email protected]/~/remoterepo.git

Git deposunun tam URL'si, son adımda keşfettiğiniz konuma bağlı olacaktır. Elbette, kullanıcı ve sunucu kimlik bilgileriniz buradaki yer tutucuların yerini alacaktır.

Bu komutu çalıştırın, ardından yerel değişikliklerinizi canlı sunucunuza göndermeye hazır olun. Aşağıdaki komut bunu onaylamadan yapacak, bu yüzden bunu yapmak istediğinizden emin olun:

git push -u origin main

Terminalin bir onay özeti gösterdiğini göreceksiniz…

 Counting objects: 12, done. Delta compression using up to 2 threads. Compressing objects: 100% (2/1), done. Writing objects: 100% (13/13), 1200 bytes | 0 bytes/s, done. Total 12 (delta 0), reused 0 (delta 0)

…ve bu noktada canlı sitenizi kontrol edebilirsiniz – değişiklikler mevcut ve doğru olmalıdır.

Özetle

Web sitenizde çalışmak gerekli ve genellikle günlük bir iştir. Yerel bir ortam kullanmak bunu yapmanın tipik bir yoludur, ancak bir sorun var - canlı sitenizde bu değişiklikleri hatasız ve en az sorunla nasıl elde edersiniz?

Cevap, yaptığınız değişiklikleri canlı sunucunuza aktarmak için Git'i kullanmak olabilir. Bu, yalnızca değişiklik yaptığınız dosyaları yüklemenize izin verir, böylece kurulumunuzun ve veritabanınızın çoğu olduğu gibi kalır. Her şeyin çalışması için bazı bilgi ve araçlara ihtiyacınız olsa da, bu, yerel site geliştirmenizin üretkenlik ve verimlilik açısından fırladığını görebilecek bir iş akışı değişikliğidir.

Yerel site değişikliklerini canlı yayınlamak için Git'i kullanacağınızı düşünüyor musunuz? Aşağıdaki yorumlar bölümünde düşüncelerinizi bize bildirin!