1. Ana Sayfa
  2. DevOps

Versiyon Kontrol Sistemi Nedir? Git Komutları Bölüm 1

Versiyon Kontrol Sistemi Nedir? Git Komutları Bölüm 1
+ - 0

Versiyon kontrol sistemi denilince hepimizin aklına ilk olarak Git gelmektedir. Bu yazı dizisinde Git sistemi üzerindeki komutlara ve yapısına değineceğiz. Ancak öncesinde Versiyon Kontrol Sisteminin ne olduğuna kısaca değinmek istiyorum.

Versiyon Kontrol Sistemi Nedir ?

Sadece yazılımlar, sunucular üzerinde gelişen bir konu olmayıp versiyon kontrol sistemi çeşitli branşlarda da kullanılan bir yapıdır. Sürekli gelişen, üstüne koyan bir sistemde düşünelim. Bu sistem müzik albümleri, gazeteler veya resmi belgeler olabilir. Bu belgelerin içerikleri sürekli değiştiği senaryoda bütünlüğü bozmadan gelişimini devam ettirebilmesini ve bu sürecin kolay yönetilebilmesini sağlayan sisteme versiyon kontrol sistemi denilmektedir.

Versiyon kontrol sistemi ile süreç içerisinde meydana gelen değişikliklerin farkını görebiliriz. Bu belki de en önemli özelliklerinden birisidir. Projenin istediğimiz bir versiyonuna erişebiliriz. Versiyonları detaylı inceleyebiliriz. Proje üzerinde çalışan kullanıcıların aynı anda birbirlerinin sürecini etkilemeden çalışabilmesi esnekliğini de sağlar. Ekip çalışmalarında proje üzerinde kimin ne kadar katkısı olduğuna bir cevap bulabiliriz.

Versiyon kontrol sisteminin genel olarak ne işe yaradığını bu şekilde açıkladıktan sonra bu yapının çeşitlerini inceleyebiliriz. Versiyon kontrol sistemlerini literatürde Merkezi Model ve Dağıtık Model olarak iki bölümde inceleriz.

Merkezi Model de bir adet Versiyon Kontrol Sunucusu bulunur ve içerisinde versiyon veri tabanını barındırır. Bu sunucu projenin çalıştığı diğer bilgisayar/bilgisayarlar ile iletişim halindedir. Bu bilgisayarlar merkezi versiyon kontrol sunucusuna doğrudan erişirler. Bu modelde çalışan versiyon kontrol sistemlerinden bazıları Subversion, Vesta ve CVS ‘dir.

Resim-1

Dağıtık Model de ise projeye dahil olan bilgisayar/bilgisayarlar içerisinde versiyon veri tabanı bulunur projenin tüm sürümlerini barındırmak için merkezi bir sunucu üzerinden işlem yapmaz. Dağıtık şekilde bulunan bu bilgisayarlar tek bir sunucuda versiyonlama yapmak üzere iletişim halinde bulunurlar. Bu bilgisayarlar ana sistemin klonu şeklinde konumlanırlar ve içerisinde ana sunucu dosyalarının ve meta verilerinin içerildiği yerel bir şema tutarlar.

Resim-2

Bu modelde çalışan versiyonlama sistemlerinden bazıları ise Git, Bazaar, SVK ve Aegis olarak bilinir.

Bu versiyon kontrol sistemlerinin her birinin kendilerine göre artı eksileri kullanım kolaylıkları bir kenarda dursun biz yaygın olan Git üzerinden konuya devam edelim.

Resim-3

Git Nedir?

Linux çekirdeği üzerine kurgulanmış bir versiyon kontrol sistemidir. Git için Basit Kullanım, Hız, Paralel Çalışma, Dağıtık Yapı, Büyük Veri Boyutuyla Perfomanslı Çalışma özelliklerini söyleyebiliriz. Git’in çalışma prensibinde optimizasyon vardır. İşlemci haberleşmesinde kurduğu mimari ile gelen veriyi referanslar ve dosyayı olduğu gibi kaydetmek yerine referansladığı yerin bilgisini depolar. Yapılan her bir commit işlemindeki performansın sırrı da budur aslında. Bunu işlemci mimarilerindeki sayfalama, haritalama, veriyi adresleme metotlarında gerçekleşen işlemler gibi düşünebiliriz. Nasıl ki bu mimariler sayesinde işletim sistemi ile işlemci arasında gerçekleşen işlemlerde performans hedefleniyorsa Git’in kendi işleyişinde de bu durum söz konusudur.

Yukarıdaki açıklamaya göre Git’in çalışma prensibinin öncelikle gönderilecek dosyaların hazırlanması, bu dosyaların bellekte yer edecek kopyalarının geçici alana dahil edilmesi ve nihayetinde bu geçici alandaki bellek kopyalarını kalıcı olarak Git sunucusuna depolayan işlemin gerçekleştirilmesi şeklinde olduğunu özetleyebiliriz.

Git’i Windows, Linux veya MacOS bilgisayara yüklemek için: https://git-scm.com/download linkini kullanabiliriz. Buradan sistemimize uygun olan versiyonu indirip kurabiliriz. Örneğin Windows için bir kurulum yapmak istediğimizde 32/64 bit seçeneğinden kendimize uygun olanı indirip kurabiliriz.

Windows için Git Kurulum Adımları:

Ekran görüntülerindeki seçenekleri seçerek hızlı bir şekilde kurulum gerçekleştiriyoruz.

Resim-4

Resim-5

Resim-6

Resim-7

Resim-8

Resim-9

Resim-10

Resim-11

Resim-12

Resim-13

Resim-14

Resim-15

Ekran görüntülerinde yer aldığı gibi bir kurulum gerçekleştirdikten sonra kurulumu test etmek üzere Git uygulamasını çalıştıralım ve şu komutu yazarak versiyon bilgisini teyit edelim. Sürüm bilgisi geliyorsa kurulum başarıyla tamamlanmış demektir.

Komut: git version

Resim-16

Linux tarafında ise Ubuntu için kurulum komutları aşağıdaki görseldeki gibidir. Öncelikle git yüklenmiş ardından yükleme işleminin başarılı olup olmadığını öğrenmek için versiyon kontrolü yapılmıştır.

Resim-17

Resim-18

 

Github Nedir ?

Kurulum tamamlandıktan sonra ikinci bölümde komutları detaylıca göreceğiz. Ancak bu projeleri yerel bilgisayarımızda tutup sunucuya göndermek güvenli sayılmayacaktır. Bunun yerine proje dosyalarını bir sunucuda veya web depolama sisteminde bulundurmak yararlı olacaktır. Web depolama servislerinden GitHub, GitLab, Codebase, Bitbucket yaygın olanlardan sadece birkaçıdır. Ancak en çok kullanılan Github web depolama sistemidir diyebiliriz.

Github, git gibi versiyon kontrol sistemi kullanan yazılım geliştirme yaşam döngüsündeki ekiplerin tercih edebileceği web depolama sistemlerinden bir tanesidir. İçerisinde barındırdığı depoların bir kısmı ücretli projeler için sunulurken bir kısmı da açık kaynak projelerin barındırılması ve paylaşımı için ücretsiz bir şekilde sunulmaktadır.

Git İle GitHub’a Proje Göndermek

Öncelikle Github üzerinde üyeliğimiz bulunmuyor ise Sign In ile yeni üyelik oluşturmalıyız. E-posta, şifre vb. bilgiler girilerek üyelik gerçekleştirildikten sonra giriş yapıyoruz.

Resim-19

Resim-20

Giriş yaptıktan sonra sol taraftaki sidebar’da yer alan Create Repository oluşturma bağlantısına tıklayıp yeni bir repo oluşturuyoruz. Repo ismini de verdikten sonra Create Repository butonu ile oluşmasını sağlıyoruz.

Resim-21

 

Github üyeliğimizi ve ilk repomuzu da oluşturduğumuza göre şimdi yerel bilgisayarımız üzerinden göndermek istediğimiz proje dizinindeyken yeni bir terminal açabilir veya terminalde öncelikle proje dizinine gidebiliriz.

Yereldeki dosyalarımızı commit ettikten sonra github’a yükleyebilmek için github üzerinde oluşturduğumuz repository ekranında yer alan aşağıdaki komutları çalıştırırız. Bu komutları çalıştırdığımızda Github üyeliğimizdeki kullanıcı adı ve şifremiz sorulur bu bilgileri de girdikten sonra projemiz başarılı bir şekilde github platformuna yüklenmiş olur. Sayfayı yenilediğimizde aşağıdaki görüntünün yerine proje dosyalarımızın geldiğini görebiliriz.

Resim-22

Makalemizin bu bölümünde Git versiyon sistemi hakkına bilgi edinip, web depolama servislerinden Github üzerine nasıl proje gönderileceğini görmüş olduk. Bu bölümde dallanma, birleştirme, projeyi gönderme, kaldırma gibi işlemlerin detaylarını henüz incelemediğimiz için Git komutlarını detaylarıyla inceleceğimiz ikinci makalemizde görüşmek dileğiyle.

 

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, git command, git komutları, gitbucket, Github, version control system, versiyon sistemi

 

 

Yazar Hakkında

Konya Teknik Üniversitesi Bilgisayar Mühendisliği Doktora programında tez dönemi öğrenciliğim devam etmektedir. İş hayatıma Vodafone'da Test Mühendisi olarak başladıktan sonra Konya Ticaret Odası Karatay Üniversitesinde toplamda 6 yıl kadar Bilgisayar Mühendisi, Sistem Uzmanı ve Siber Güvenlik Ofis Yöneticisi olarak çalıştım. Ardından Necmettin Erbakan Üniversitesi Bilgi İşlem Daire Başkanlığına atandım ve Sistem ve Siber Güvenlik Mühendisi olarak halen çalışmaktayım. (2022)  Başlıca uzmanlık alanlarım arasında Sistem yönetimi ve güvenliği gelmektedir. Asp.net ile Proje Geliştirme (2015), Bilgisayar Mühendisliğine Giriş (2020) ve Güvenlik Tasarım Desenleri (2022) kitaplarının yazarıyım.

Yorum Yap