İlginizi Çekebilir
  1. Ana Sayfa
  2. DevOps
  3. Git Nedir? Temel Prensipleri – Bölüm 1

Git Nedir? Temel Prensipleri – Bölüm 1

Git-Logo

Bu yazı serimizde, son yıllarda sık sık adını duyduğumuz ve bir çok büyük projenin doğması ile popülerliği her geçen gün artan, 28 milyondan fazla developer tarafından geliştirme yapılan ve yakın bir zamanda Microsoft bünyesine katılan ’ın da temellerini oluşturan sisteminden bahsedeceğiz. temel anlamda yapabilmek adına yazılmış bir sistemdir. Özellikle Linux çekirdeğinin geliştirme aşamasında, topluluk tarafından verilen geri dönüşler doğrultusunda Torvalds sık sık yamalama işlemi yapıyor ve bu durum her geçen gün daha karmaşık hale gelmeye başlıyordu. O zamanlar proje kapsamında dağınık kod kontrol sistemi şeklinde dizayn edilen Bitkeeper uygulaması kullanılmaya başlanmış ancak akabinden Bitkeeper’ın da ücretli bir hale dönüşmesi üzerine Torvalds tarafından git uygulaması yazılmaya başlanmıştır. Alternatiflerine göre çok daha hızlı bir yapıya sahip olması amaçlanan git, geçmişe dönük olarak yapılan değişikliklerin görebileceği ve birden fazla katılımcının dahil olabileceği amacıyla başlanan bir proje olup şuan yazılım dünyasının kalbi haline gelmeyi başarmıştır.

Git hakkında Linus’un Google Talks’daki sunumuna buradan ulaşılabilir.

Git, başta belirttiğim gibi dağınık bir sürüm kontrol sistemi olup internet erişimi olmadan da lokalde projeye ya da dosyaya ait tüm değişiklikleri ve tarihçeyi tutmayı amaçlayan bir yapıya sahiptir. Bir dizine bu yapı iki şekilde entegre edilebilir. Bunlar init ve clone komutlarıdır. Bu komutlar yardımıyla git yaratırken, git tarafından takip edilip bu sayede tarihçesinin tutulması amaçlanan dosyalar tracked şeklinde ifade edilir. Bir dosya add komutu ile takip edilmeye başlanabilirken rm komutu ile takipten çıkarılabilir. Kararlı sürümün bulunduğu yapı master şeklinde isimlendirilirken, geçici ya da geliştirme aşamasındaki yapı ya da kümeler branch olarak adlandırılır. Komutların detaylı ve uygulamalı olarak incelenmesi adımlarına serinin ilerleyen yazılarında değinileceğinden temel anlamda bu kadar açıklamak daha sağlıklı olacaktır.

Redhat (CentOS, Redhat, ) ailesine mensup bir Linux işletim sistemi üzerinde git yüklemek için aşağıdaki adımı uygulamak yeterlidir.

yum install git ( Aynı şekilde Debian (Ubuntu, Kali, vb.) ailesine mensup işletim sistemlerinde bu komut apt-get install git şeklinde olacaktır. )

Resim-1

Git uygulaması hakkında yardım almak için man komutunun kullanılabileceği gibi git help çıktısı ile de yardım almak da mümkündür. Git help –a komutu aracılığıyla bu çıktı daha detaylı hale getirelebilir.

Resim-2

Şimdi de gitTest ismindeki dizinimizde bir Repository yaratma işlemi başlatalım. gitTest isminde bir dizin yaratarak içerisine bir adet dosya yaratalım ve ilk sürecimizi tamamlayalım.

Burada git init . komutumuz ile bu dizinin Repository’imiz olacağını belirtiyoruz. Init 1 unix tabanlı işletim sistemlerinde boot aşamasındaki ilk süreç olarak karşımıza çıktığından dolayı anlamlı bir giriş yapmaktayız.

Akabinde git add . komutumuz ile bu dizin içerisindeki değişikliklerin takip edilmesini istiyoruz.

Son olarak git commit –m “First Commit” komutunu kullanarak geleneksel bir yorum ekliyoruz. First commit ile projenin başlangıcını temsil ediyoruz. Özellikle projede yapılan değişikliklerin neden yapıldığına dair bilgilendirmeler genelde commit komutu ile belirtilerek dağınık ve kalabalık çalışma gruplarında geliştirmeyi kolaylaştırmaktadır. Bu sebeple özet bir şekilde değişikliği belirtmek daha sağlıklı bir geliştirme ortamı için gereklidir.


Resim-3

Bu aşamadan sonra Repository istenirse uzak bir hub’a push’lanabileceği gibi lokal olarak da tutubilmektedir. Günümüz de bir çok projenin geliştirme ve versiyonlanmasında sıkça kullanılan git, şüphesiz ki hem hızlı işlevi hem de ihtiyaçları karşılayan yetenekleri sayesinde popülerliğini artırarak korumaktadır.

Serinin ilerleyen yazılarında Git’in daha teknik kısımlarına girecek, bir proje geliştirme kapsamında git’i nasıl kullabileceğinden bahsedeceğiz. Özellikle git’in popülerliğinde önemli bir yere sahip olan Github ve gibi ortamlar hakkında incelemeler yapacak farklı işletim sistemleri üzerindeki kullanım alanlarına değineceğiz.

Bu konuyla ilgili sorularınızı https://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar

www.mshowto.org

TAGs: git, github, gitlab, , Sürüm Kontrolü, , Repository, Linus, Linux,,,redhat,fedora

Yorum Yap

Yazar Hakkında

İstanbul Teknik Üniversitesinde lisans öğrenime devam etmekteyim. Yaklaşık 3 yıldır Istanbul Teknik Üniversitesi Bilgi İşlem Daire Başkanlığında System Administrator olarak çalışmaktayım. Bu süreçte Windows Server başta olmak üzere Linux tabanlı projelerde yer aldım. DHCP, SQL Server, WSUS, KMS, WAS, WDS ve DPM ürünlerinin yönetimini üstlenme fırsatım oldu. Son zamanlarda Powershell ile otomasyon işlemlerine dayalı projelerin yanı sıra sunucu güvenliği konularında scriptler geliştirmekteyim. DevOps süreçlerinde Powershell'in daha aktif kullanılmasına yönelik türkçe kaynaklar yayınlamak ve Windows Server ürünlerinde powershell'in yaratabileceği avantajlar konusunda geliştirmeler yapmayı hedefliyorum.

Yorum Yap