Herkese merhabalar,

İlk yazımda sizlere, benim de son zamanlarda araştırmakta olduğum “Git“ ve “GitHub“ kavramlarından ve bazı temel komutlarından bahsedeceğim.

Öncelikle Git ve GitHub’ın ne işe yaradığından, yazılımda sağladığı kolaylıklardan ve en önemlisi de bu iki kavram arasındaki farklardan başlamak istiyorum.

Git Nedir? Ne İşe Yarar?

Git, bir sürüm kontrol sistemidir. İyi güzel, peki sürüm kontrol sistemi nedir? Basitçe, üzerinde çalışmakta olduğumuz bir projenin başından itibaren gerçekleştirilen işlemleri ve uğradığı değişiklikleri takip edip ihtiyaç durumunda geri dönebilmek üzere önceki sürümlerini kaydedebildiğimiz bir araç olarak düşünebiliriz. Bu sistem, eklediğimiz yeniliklerin olası bir hatası sonucu projemizin patlamasının önüne geçer ve yeni sürümlerini, orijinaline zarar vermeden geliştirip test etmemize olanak sağlar.

GitHub Nedir?

GitHub ise Git yazılımı ile entegre olmuş, web tabanlı bir depo (Repository) ‘dur. GitHub’ın en önemli özelliği, yarattığımız projeleri dünya üzerinde herkesle paylaşabilme ve birlikte geliştirebilme imkânı sunmasıdır. Özellikle ekip projelerinde koordinasyonu kolaylaştırır, birazdan değineceğim “Branch“ sistemiyle ekip üyelerinin orijinal projeye zarar vermeden kendi bilgisayarlarından (Local Machine) geliştirmelerini diledikleri gibi test edip hazır olduğunda diğer üyeler ile paylaşabilmelerine olanak sağlar. GitHub ayrıca kullanıcılara, Git kullanımını kolaylaştıracak bir ara yüz ve araçlar sunar. Böylelikle proje depomuzu, ya da Git’deki adıyla repository’lerimizi düzen altında tutabiliriz.

İki kavram arasındaki farkı kısaca özetlemek gerekirse: Git, kendi bilgisayarımızda proje sürecinin kontrolünü sağlarken GitHub, bu projeleri depolamamızı ve paylaşabilmemizi sağlar. Edinmesi ise oldukça basit ve ücretsiz.

Şimdi Git ve GitHub konusunda genel bir fikrimiz olduğuna göre, sıklıkla karşımıza çıkacak bazı temel terim ve komutlardan bahsedeceğim.

Temel Komutlar Ve Terimler

Öncelikle Repository terimi ile başlayalım. Repository’yi, projemizin ana dosyası/deposu olarak düşünebiliriz. Proje üzerindeki çalışmalarımızı yerel diskimizde bulunan Local Repository’de yaparız. Ancak bir ekip çalışması söz konusu ise projeye tüm üyelerin erişebilmesi ve birlikte çalışabilmesi için bir Remote Repository’ye ihtiyacımız olacaktır.

‘Branch’lerden söz etmek gerekirse, şimdilik detaya girmeden, repository’mizin farklı versiyonlarını içeren birer alt klasör olarak düşünebiliriz. Master Branch’ten ayrı olarak, local repository’mizde istediğimiz kadar branch oluşturabiliriz. Projemize yeni bir özellik eklemek istediğimizde projeye zarar vermemek adına ayrı bir branch oluştururuz, değişikliklerimizi projenin bu kopyası üzerinde test ederiz ve eğer uygun görürsek orijinal projeye ekleriz.

  • git init

Bu komut ile repository oluşturmanın iki yolu var. Aşağıdaki şekilde çalıştırıldığı dizini bir repository’ye dönüştürecektir.

git init

Alttaki durumda ise ‘proje’ adında bir klasör oluşturur ve onu repository’ye çevirir.

git init proje
  • git config:  Kullanıcı adı ve mail gibi başlıca ayarları yapılandırmamızı sağlar.
git config --global user.name "Elif Başaran"
git config --global user.email "elif@basaran.com"
  • git status: Yapılan değişikliklerin durumunu gösterir.
git status
  • git add: Yapılan değişiklikleri daha sonra kaydedilmek üzere ‘takip listesi’ olarak adlandırabileceğimiz ‘staging area’ya ekler.
git add dosya
  • git reset: Yaptığımız değişiklikleri geri almamızı sağlar.
  • git commit: ‘Takip listesi’ne alınan değişikliği local repository’ye kaydeder (commitler).
  • git log: Projedeki commit’leri listeler.
  • git push: Commit edilmiş değişikliklerin uzak sunucuya aktarılmasını sağlar.
  • git pull: Master branch’ten projenin en güncel halini almamızı sağlar.
  • git branch: Mevcut repository’deki branchleri listeler.
  • git clone: Uzak sunucudaki bir projeyi tüm branch’leri ve dosyalarıyla yerel bilgisayarımıza kopyalar.

Son olarak, daha sonra kullanımlarını uygulamalı olarak açıklamak üzere kısaca temel komutlar ile yazımı burada noktalıyorum. Okuduğunuz için teşekkür ederim.

Kaynakça

Görsel Kaynakça

Görüntülenme Sayısı:
301 görüntülenmeler