İçeriğe geç
SaytPro
Bize yazın

Teknolojiler

Git

Git, bir projenin kodunda yapılan her değişikliği geçmiş olarak kaydeden versiyon kontrol (version control) sistemidir. 2005 yılında Linus Torvalds tarafından oluşturulmuştur ve bugün dünyada en yaygın kullanılan versiyon kontrol aracıdır.

GeliştiriciLinus Torvalds
İlk sürüm2005
LisansGPL-2.0
Resmi sitegit-scm.com

Git nedir?

Git'i projenizin otomatik arşivcisi gibi düşünebilirsiniz. Bir belgenin 'v1', 'v2', 'final', 'final-son' kopyalarını elle saklamak yerine Git, her değişikliği 'commit' (kaydedilmiş sürüm) olarak geçmişe işler: kim, ne zaman, neyi değiştirdi, hepsi kayıt altındadır. Proje istenildiği an önceki herhangi bir durumuna geri döndürülebilir; hiçbir şey gerçekten kaybolmaz.

Git, 2005 yılında Linux işletim sisteminin yaratıcısı Linus Torvalds tarafından geliştirildi ve bugün büyük bir açık kaynak topluluğu tarafından sürdürülüyor. Ücretsizdir ve GPL-2.0 lisansıyla açık kaynak olarak dağıtılır. Bireysel geliştiricilerden en büyük teknoloji şirketlerine kadar neredeyse tüm profesyonel yazılım projeleri Git üzerine kuruludur.

Ekip çalışmasında Git'in asıl gücü 'branch' (dal) ve 'merge' (birleştirme) mekanizmasıdır. Her geliştirici ana koddan ayrılan kendi dalında çalışır (biri yeni sayfa yaparken diğeri hata düzeltir) ve kimse kimsenin işini bozmaz. İş bitip kontrol edildikten sonra dal ana koda birleştirilir. Bu yöntem, e-postayla 'son_versiyon_final2.zip' gönderme kaosunu tamamen ortadan kaldırır.

Git'i GitHub veya GitLab ile karıştırmamak gerekir: Git bilgisayarda çalışan araçtır, GitHub ise Git projelerini internette barındırıp paylaşmaya yarayan platformdur. Basit bir benzetmeyle: Git fotoğraf makinesi, GitHub ise fotoğrafların yüklendiği albüm sitesidir. Kod hem geliştiricilerin bilgisayarında hem de uzak sunucuda tutulduğu için kaybolma riski neredeyse sıfıra iner.

İşletmeniz için ne anlama geliyor?

Site sahibi için Git bir sigortadır. Siteye yapılan her güncelleme geçmişe kaydedilir: yeni bir özellik sorun çıkarırsa site dakikalar içinde son çalışan sürüme geri döndürülebilir. Ayrıca kod tek bir kişinin bilgisayarına 'hapsolmaz': yarın başka bir geliştirici veya ajans projeyi tüm geçmişiyle devralabilir.

SaytPro bunu nasıl kullanıyor?

SaytPro, Next.js ön yüzlerden Django arka uçlara kadar tüm projeleri Git depolarında tutar. Yeni özellikler ayrı dallarda geliştirilir, kontrol edilir ve ancak ondan sonra ana koda birleştirilir. Canlı sunuculara dağıtım (deploy) da Git üzerinden yürütülür: sunucu onaylanan sürümü çeker, bir sorun çıkarsa önceki sürüme dönmek kolaydır.

Bu teknolojiyle sunduğumuz hizmetler

Sık sorulan sorular

Git, bir projenin dosyalarında yapılan her değişikliğin tam geçmişini tutan bir araçtır. Her değişiklik 'commit' olarak kaydedilir: neyin, kim tarafından, ne zaman değiştirildiği bellidir. Böylece hatalar geri alınabilir, sürümler karşılaştırılabilir ve birden fazla kişi birbirinin işini ezmeden aynı projede çalışabilir.

Git, bilgisayarda çalışan versiyon kontrol aracıdır; GitHub ise Git projelerini internette barındıran, paylaşım ve yedekleme sağlayan bir platformdur. Git, GitHub olmadan da kullanılabilir ama tersi mümkün değildir. GitLab ve Bitbucket da Git üzerine kurulu benzer platformlardır.

Evet, Git tamamen ücretsiz ve açık kaynaklıdır; GPL-2.0 lisansıyla dağıtılır. Ticari projelerde kullanımı da ücret gerektirmez. GitHub gibi platformların ücretsiz planları vardır; genellikle yalnızca büyük ekipler için gelişmiş özellikler ücretlidir.

Versiyon kontrolü, dosyalardaki tüm değişiklikleri zaman içinde izleyen sistemdir. 'final' ve 'final2' adlı kopyaları elle saklamak yerine sistem her sürümü otomatik kaydeder ve istenen sürüme geri dönmeyi sağlar. Bu, hem iş kaybını önler hem de ekip halinde paralel çalışmayı mümkün kılar.

Branch, ana koddan ayrılan paralel bir çalışma hattıdır. Geliştirici yeni özelliği kendi dalında yapar, ana kod ise sağlam ve çalışır durumda kalır. İş tamamlanıp kontrol edildikten sonra dal ana koda birleştirilir; böylece yarım kalmış kod asla canlı siteye gitmez.

SVN (Subversion) daha eski, merkezi bir sistemdir; tüm geçmiş tek sunucuda durur. Git ise dağıtıktır: geçmişin tamamı her geliştiricinin bilgisayarında bulunur, internetsiz çalışılabilir ve sunucu arızası kodu yok etmez. Modern projelerin büyük çoğunluğu Git'e geçmiştir; SVN daha çok eski kurumsal sistemlerde kalmıştır.

Günlük kullanım için gereken temel komutlar (commit, push, pull, branch) birkaç günde öğrenilir. Birleştirme çakışmalarını çözmek gibi ileri senaryolar pratik ister. Web sitesi yaptıran bir işletme sahibinin Git öğrenmesine ise gerek yoktur: bu, geliştiricinin aracıdır.

Pratikte üç şey: birincisi, sitenizin kodu kaybolmaz, geçmiş hem geliştiricide hem uzak sunucuda yedeklidir. İkincisi, başarısız bir güncelleme uzun kesinti yerine dakikalar içinde geri alınır. Üçüncüsü, geliştirici değiştirirseniz yeni ekip projeyi tüm geçmişiyle devralır, sıfırdan başlamak gerekmez.

Proje Git ile yönetiliyorsa evet. Her değişiklik commit olarak kayıtlı olduğundan geliştirici kodun önceki herhangi bir durumunu geri getirebilir. Yeni bir özellik canlı sitede sorun çıkarırsa son çalışan sürüme dönmek genellikle dakikalar sürer.

Git'i 2005 yılında Linux'un yaratıcısı Linus Torvalds geliştirdi; ilk amacı Linux çekirdeğinin geliştirme sürecini yönetmekti. Bugün büyük bir açık kaynak topluluğu tarafından sürdürülüyor ve dünya çapında versiyon kontrolünün fiili standardı haline gelmiş durumda.

SaytPro müşteri projelerinin kodunu private GitHub repository'lerinde, tam değişiklik geçmişiyle saklar. Kendi VPS altyapısına dağıtım da Git üzerinden yapılır; bu sayede sorun çıktığında önceki sürüme hızla dönülebilir. İsteyen müşteriye depo, projenin tüm geçmişiyle birlikte teslim edilir.

Bu teknoloji genellikle bunlarla birlikte çalışır.

Kod barındırma, sürüm takibi ve ekip çalışması için dünyanın en büyük platformu.

  • Araç

Uygulamaları tüm bağımlılıklarıyla birlikte konteynerlere paketleyip her sunucuda aynı şekilde çalıştıran platform.

  • Altyapı

Siteniz için kaynakları size ayrılmış, tam kontrollü sanal sunucu.

  • Altyapı